けいじゅ@いしつかです.

In [ruby-dev:20287] the message: "[ruby-dev:20287] Is it bug of IRB?",
on May/26 18:52(JST) NISHI Takao writes:

>にし@おかやまです。

ども.

>以下のようにArray#[]を再定義するとirb 0.7.4(01/05/08)が無言で死にます。
>
>----
>irb(main):001:0> class Array
>irb(main):002:1> def [](x)
>irb(main):003:2> end
>irb(main):004:1> end
>=> nil
>irb(main):005:0> x=[] # ここで無言でirbが終了する
>----

えー. これをバグといわれると, irbが可愛そうかも. 

irbでは Array#[] を利用しています. これがまともに再定義されなかったた
めに, irbが狂ったと考えられます.

試しに, 以下のように, Array#[]をマトモに再定義すれば, ちゃんと動作しま
す.

irb(main):001:0> class Array
irb(main):002:1> alias at []
irb(main):003:1> def [](x)
irb(main):004:2>   at(x)
irb(main):005:2> end
irb(main):006:1> end
nil
irb(main):007:0> x = []
[]

__
..........................................................石塚 圭樹...
----------------------------------->> e-mail: keiju / ishitsula.com <<---