From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1997-11-20T14:44:42+09:00 Subject: [ruby-dev:891] Re: [Req] Proc.new けいじゅ@日本ラショナルソフトウェアです. In [ruby-dev :00884 ] the message: "[ruby-dev:884] Re: [Req] Proc.new ", on Nov/20 13:19(JST) matz@netlab.co.jp (Yukihiro Matsumoto) writes: >まつもと ゆきひろです >|>ええ,記法の問題としては面白いと思います.だから悩むわけで. >|何か動作が複雑ですよねえ... > >ええ,現状はメソッド呼出は > > foo -> ローカル変数であれば参照,でなければメソッド呼出 > foo() -> メソッド呼出 > >ですが,これを採用すると > > foo -> ローカル変数であれば参照,でなければメソッド呼出 > foo() -> メソッド呼出,メソッドが定義されておらずfooがロー > カル変数であり,その値のオブジェクトがcallメソッ > ドを持っていれば,callを呼ぶ > >ということになります.多分,デフォルトのmethod_missingの実装 >に手を入れれば実現できるとは思うのですが,なんか説明するのに >つかれちゃいそうで…. そうですよねえ... >|operator() が定義できるというてもありますね. そうすると, >| >| foo() >| >|はそれなりに解釈しやすいモデルだと思いますが. > >ええ,でもその場合は多分(Pythonのように)メソッドをオブジェク >トしなくてはならないでしょうし,それにfooでメソッドfooを呼ぶ >という文法も変更しなければならないでしょう.fooはメソッドオ >ブジェクトの参照になるでしょうから. これって, 関数をscheme 見たいに扱うってこと? つまり, def foo ... end は foo = 関数の実体(proc{..}みたいなもの) と同値ってこと? これだと 関数と変数が同じ名前空間で扱えることになって, (私としては)非 常に不便になりますねえ... __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@rational.com <<---