クロージャの例(Memo)

JavaScript で。

var a = new Array();
a.push(1);
a.push(2);
a.push(11);
a.push(100);
a.select = function(f){
    result = new Array();
    for ( i = 0 ; i < this.length; i++ ){
        if ( f(this[i]) ){
            result.push(this[i]);
        }
    }
    return result;
}
a.moreThanTen = function(){
    var value = 10;
    return this.select(function(i){return i > value;});
}
a.moreThanTen();

[ 11, 100 ] が結果として得られる。