:=オペレータ
Rubyに:=を導入する件について。MLに書こうと思っているのですが、まとまらないのでとりあえずメモだけ。
- 「:=」をどういうときに使えばいいか説明するのが難しそう(特に初心者に)
- JavaScriptのvarの類推からすると、「とりあえず:=にしとけばいいよ」的になって、何でもかんでも:=がつきまくる恐れがある。それは本意ではないのでは? 結局「=」と「:=」のどっちを推奨したいのか?
- ブロックの外にある同名の変数を参照できない。参照するためにはrenameして……とかやるくらいなら最初から別名にしとけばいい?
- 元々の動機が「ブロックにブロックローカルな変数を導入したい」ということなら、ブロックの最初に書けばよいことで、どこでも使える:=を導入するのは強すぎでは?