[#20227] dyna_vars problem? — Tanaka Akira <akr@...17n.org>

しばらく前から、稀に Ruby が core を吐くという問題を追いかけているので

15 messages 2003/05/19
[#20234] Re: dyna_vars problem? — matz@... (Yukihiro Matsumoto) 2003/05/19

まつもと ゆきひろです

[#20236] Re: dyna_vars problem? — Tanaka Akira <akr@...17n.org> 2003/05/19

In article <1053363181.529491.30320.nullmailer@picachu.netlab.jp>,

[ruby-dev:20288] Re: Is it bug of IRB?

From: keiju@... (石塚圭樹)
Date: 2003-05-26 12:28:57 UTC
List: ruby-dev #20288
けいじゅ@いしつかです.

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 <<---

In This Thread