lang
1def counter_closure 2 count = 0 3 lambda {|n| count += n } 4end 5 6p counter_closure.call(1) 7p counter_closure.call(2) 8p counter_closure.call(3) 9p counter_closure.call(4) 10p "---" 11counter = counter_closure 12p counter.call(1) 13p counter.call(2) 14p counter.call(3) 15p counter.call(4)
の実行結果が
lang
11 22 33 44 5"---" 61 73 86 910
となるのですが、どうしてこのような結果になるのか理解できていません。
特に、どうしてcounterだけクロージャになっているかがわかっていません。
解説をよろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。