2015-07-24から1日間の記事一覧

Ruby のブロック内でスコープの外と同じ名前の変数を上書きせずに定義する

例えば、次のようにブロックスコープ内でスコープの外にある名前の変数を使った場合、変数の中身は上書きされてしまいます。 value = "homu" twice = Proc.new { |it| value = it value + value } twice.call 10 # => 20 value # => 10 まぁこれは当然ですね…