まつもと ゆきひろです In message "[ruby-list:15518] 省略記法" on 99/07/19, ARIMA Yasuhiro <fit0298 / fitec.co.jp> writes: | |Pascal では、構造体のメンバを表記する際に省略記法があります。 | | foo.bar.baz.a := foo.bar.baz.b; | foo.bar.baz.c := foo.bar.baz.d; | |上記は下記の様に書けます。 | | with foo.bar.baz do | begin | a := b; | c := d; | end | |Ruby でも同様の記述をしたいのですが、なにか方法はありますか? うーん、私はPascalのwithやCLOSのwith-slot類はあんまり好きで ないんですよねえ。 |やっとこさ思いついたのは以下のようなものです。 | | foo.bar.baz.with do |x| | x.a = x.b | x.c = x.d | end くらいなら x = foo.bar.baz x.a = x.b x.c = x.d で済んじゃいますし、とはいえ |できれば、以下ぐらいで書きたいのですが。 | | foo.bar.baz.with do |x| | .a = .b | .c = .d | end ここまでやると文法が美しくないですし。もうちょっとヒネリがな いと採用しにくいと思います。もちろん、ニーズは理解できますし、 まったく拒否するつもりではないんですがね。 まつもと ゆきひろ /:|)