■掲示板に戻る■
全部
1-
101-
201-
301-
401-
501-
601-
701-
801-
901-
1001-
最新50
レス数が1000を超えています。残念ながら全部は表示しません。
rubyを語るスレッド
71 :
名無しさん@お腹いっぱい。
:02/04/19 19:51
>>66
ループ本体は実際、毎回メソッド呼び出しですよ。
& で受けたときだけ、もらったブロックを Proc オブジェクト化します。
apply(x, f) で受ける仕様にした場合の不都合と言うと、Rubyは静的
片付けが弱い言語なので、コンパイラがこれを見て f がブロックを
受ける仮引数であると分からないところですね。
たとえば、この関数が x の値によって f を呼んだり呼ばなかったり
するとき、 apply(1, 2) のような誤用がエラーにされません。
イテレータブロックを大々的に採用し多用する言語としては、
ブロックと一般引数の混同を招くような仕様ではまずい。
よって、明示的に受ける場合は一般の引数と区別できるよう、
& をつけて静的に判断できるようにした、という説明はどうでしょうか。
(実際は逆で、実装を素直に反映したのだと思います)
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver5.26+ (01/10/21-)