コレクションとクロージャ

またもや同じ人だが、面白い例があったので、再び参考にして(パクって)みる。
http://web.paulownia.jp/script/oop/closure.html

array.each do |e|
    p e
end

このdo〜endがクロージャで、arrayの各要素に対してこの中で好きな処理を実装する。
JavaScriptで同じように使えるよう、拡張をする。
関数funcを引数とするeachメソッドを定義する。

// 拡張
Array.prototype.each = function(func){
    for (var i = 0; i < this.length; i++) {
        func(this[i]);
    }
}

// 使うとき
var array = new Array("A","C","G","T");
array.each(
    function(e){
        alert(e);
    }
);

JavaScript版では、function(e)の中身を実装することで、Rubyのeachと同じような記述ができる。