From: Yukihiro Matsumoto Date: 2007-07-02T23:10:42+09:00 Subject: [ruby-dev:31115] Re: [][1,&nil] = 2 まつもと ゆきひろです In message "Re: [ruby-dev:31112] Re: [][1,&nil] = 2" on Mon, 2 Jul 2007 22:49:22 +0900, SASADA Koichi writes: |Tanaka Akira wrote: |> 以下のように [][1,&nil] = 2 とすると、nil に []= がないとい |> うエラーになるのは意図せざるものではないでしょうか。 |> |> % ./ruby -ve '[][1,&nil] = 2' |> ruby 1.9.0 (2007-06-29 patchlevel 0) [i686-linux] |> -e:1:in `method_missing': undefined method `[]=' for nil:NilClass (NoMethodError) |> from -e:1:in `
' | | これは、多分パーサエラーかコンパイルエラーになるべきだと思う |のですが(違います?)、どうしましょう>まつもとさん そうなんですか? []というオブジェクトの[]=というメソッドが引数(1,2)でブロック 付き(ま、nilだけど)で呼ばれていると解釈できるんで、これをコン パイルエラーにする理由はないように思うのですが。生成している ノードがおかしいということはあるかもしれません。