2005/01/20

Rubyにおけるクロージャー(closure)についての自分なりの理解。

def power
prev = 1
prev = prev * 2
return prev
end

prev = 1
power_gen = Proc.new{
prev = prev * 2
}

print "power: ", power, ", ", power, "\n"
print "power_gen: ", power_gen.call, ", ", power_gen.call, "\n"

実行結果

power: 2, 2
power_gen: 2, 4

リファレンスマニュアル にこういう例があれば手っ取り早くわかったのに。

No comments :