From: Yasushi Shoji Date: 2000-10-19T17:52:34+09:00 Subject: [ruby-dev:11269] Re: [ruby-list:25517] Re: setter: two or more args 間違ったらしいので、とりあえず。 # 話が -list向けっぽくないので -devに移動 At Thu, 19 Oct 2000 16:08:59 +0900, Shugo Maeda wrote: > > 前田です。 > > At Thu, 19 Oct 2000 02:44:36 -0400, > Yasushi Shoji wrote: > > > *Foo.new.func = 10,20 > > > > > > とはできますが、あまりうれしくないですね。 > > > > そですねぇ(^^; > > > > この問題って、(compile timeに?) Rubyが `='で終ってる method呼出しと代入 > > を区別できる様にならないと、もしかして解決しないんでしょうか? > > parse.yより: > > lhs : variable > { > $$ = assignable($1, 0); > } > | primary '[' aref_args ']' > { > $$ = aryset($1, $3); > } > | primary '.' tIDENTIFIER > { > $$ = attrset($1, $3); > } > > のように代入の左辺に来る記号はいくつかあって、その種類によって異 > なるノードを生成します。 > > > # compile timeには、method callと代入の区別が付いてなくて、run timeには > > # 付いているのかな? > > というわけでcompile timeに区別はついてるのですが、構文解析時には > 変数への代入と同じように処理されているわけです。 > > -- > 前田 修吾 >