青山です。

変数の有効範囲についての疑問です。

def add(a)
  a += 1
end

a = 1
add(a)
p a       # --> 1

def add(a)
  a["a"] += 1
end

a = {"a" => 1}
add(a)
p a["a"]  # --> 2

この挙動は仕様としてずっと残るのでしょうか。それとも、これから検討する
可能性があるのでしょうか。気持はわかる動きなのですけれどね。


青山 和光 Wakou Aoyama <wakou / fsinet.or.jp>