クロージャの例(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 ] が結果として得られる。