まつもと ゆきひろです

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

ここまでやると文法が美しくないですし。もうちょっとヒネリがな
いと採用しにくいと思います。もちろん、ニーズは理解できますし、
まったく拒否するつもりではないんですがね。

                                まつもと ゆきひろ /:|)