Wed, Sep 10, 1997 at 05:57:16PM +0900 において Yukihiro Matsumoto さん曰く: > |$c = Canvas.new { > | relief 'sunken' > | bg 'LightCyan1' > | height '10c' > | width '20c' > | pack > |} > | > |とかすればいいことはわかったのですが、 > |この中括弧の部分は文法的にどういうものなのですか? > | > |コンストラクタの引数じゃないし、イテレータだとすると、 > |なんでイテレータになるのかよくわからない。 > > イテレータです.ただし,tk関連のクラスのnewをイテレータとし > て呼び出すと,selfを新たに生成したオブジェクトとしてイテレー > タブロックを評価します.ですから,reliefとかbgとかはCanvasオ > ブジェクトのメソッドなんですね. なるほど、 $c = Canvas.new $c.relief 'sunken' $c.bg 'LightCyan1' $c.height '10c' $c.width '20c' $c.pack と同義ですね。たしかに前のほうが見やすいです。 rubyは見習いだし、tkなんかほとんどはじめてですが、 なかなか面白いですねえ。tclじゃ書く気も起きなかったですが。 -- 人生を背負い投げ 菊谷 誠(Kikutani Makoto) kikutani / eis.or.jp kikutani / jdc.ericsson.se hgf03701 / niftyserve.or.jp http://www.eis.or.jp/muse/kikutani/