コレクションとクロージャ
またもや同じ人だが、面白い例があったので、再び参考にして(パクって)みる。
http://web.paulownia.jp/script/oop/closure.html
- Rubyの例
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と同じような記述ができる。