お世話になっております。 A.中村です。TransTech楽しいっすぅ。

On Wed, 21 Jul 1999 12:50:50 +0900
助田 雅紀 	 <masaki.suketa / systemplaza.co.jp> wrote:

> > >   foo.bar.baz.with do |x|
> > >     .a = .b
> > >     .c = .d
> > >   end
> 
> >   これはあくまで主観ですが、ここまで省略してしまうとあまり使い勝手が良く
> >  ないように思います。とくにネストしたときに混乱の元になりそうで、デメリッ
> >  トの方が気になります。
> Excel VBA で With 使ったときの経験から言わせてもらうと
> ネストしたときはややこしいと思います.

delphiではwith a, b, c do begin ...end;なんて書けたりするから
尚更たちが悪い(笑)

そっかぁ。withは楽だけど困る面も多いって感じだったけど、
なぜ困るかってゆーと
「識別子を捨てる(だけだ)」
から、だったんですね。

with x=hogehogehogehoge do begin
x.a:=1;
end;

なんてゆう
「識別子を置換する」
ものになってればよかったんだなあ。
なんかSQLの別名みたいだ。


…ん?だとすると、Rubyだと余りにも話は単純になってしまいますね。
Cとかで伝統的に(笑)行ってた、その場変数へのポインタの代入って奴。
Rubyだと変数宣言もポインタ(参照)も悩みゼロだから、なんのこたぁない、

x=hogehogehoge
x.a=1

あ。終わった(話が進展してないぞ俺)(^^;;;;;;



> 私が思いつくメリット:
> 今までよりも更に,Excel VBA のマクロを win32ole を使った

え?(^^;