こんにちは。やまがたです。 最近のJavaScript人気に便乗して、その特徴であるクロージャをRubyでも使ってみたいとおもいます。 まずはよくあるなJavaScriptによるクロージャの例です。 var f = (function f() { var i = 0; return function() { console.log(i++); } })(); f() // => 0 f() // => 1 f() // => 2 f() // => 3 これをRubyで書いてみるとこうなります。 def f i = 0 Proc.new { puts i; i += 1 } end _f = f _f.call # => 0 _f.call # => 1 _f.call # => 2 _f.call # => 3 それぞれの違いを見ていきましょう。 まずJavaScriptが変数 f に生