From: Koji Arai Date: 2000-02-09T21:58:34+09:00 Subject: [ruby-dev:9173] Re: bang method returns string always 新井です。 >>> From: matz@netlab.co.jp (Yukihiro Matsumoto) >>> Date: 09 Feb 2000 16:47:50 +0900 >>> Subject: [ruby-dev:9171] Re: bang method returns string always > まつもと ゆきひろです > うのは間違ってる」という結論になじんでしまったので、互換性を > 達成する情熱が失せてしまいました。これも新井さんのおかげです。 逆に、あっさり引き下がったのが残念だったり:-) # だってせっかく前向きに考えてたのに〜(あの案自体は私もダメ # だろうとは思ってましたが) Subject: [ruby-dev:9158] Re: bang method returns string always From: matz@netlab.co.jp (Yukihiro Matsumoto) > などではないでしょうか。今まで話が出たレベルでは、「そんなに > 嬉しくなさそう」、「instance_evalでいいじゃん」という印象が 以前から話題になっている「カスケード」というのがなんなのか知 らないのですが、instance_eval は内部をさらけだしすぎで困るこ とがありますね。 class TkHoge def initialize @label = "hogehoge" TkLabel.new { text @label # TkHoge の @labelでなく TkLabel.newの @label pack } end end こういう場合、以下のように変数を作らないとダメなんですよね。 class TkHoge def initialize label = @label = "hogehoge" TkLabel.new { text label # TkHoge の @labelでなく TkLabelのほげ pack } end end Ruby/Tkにおけるnotationを追求すれば答えが出ないかな?たとえ ば、selfを置き変えるけど、インスタンス変数やprivateメソッド を直接扱えないとか。。でも、「関数」は呼べないと困るからダメ だな。 # そもそもselfの置き換えが妙なところで発生するのは混乱の元 # なんですよね。 -- 新井康司 (Koji Arai)