From: Nobuhiro IMAI Date: 2009-02-26T10:02:45+09:00 Subject: [ruby-dev:38087] [Bug #1215] irb doesn't finish evaluate on !false => false Bug #1215: irb doesn't finish evaluate on !false => false http://redmine.ruby-lang.org/issues/show/1215 起票者: Nobuhiro IMAI ステータス: Open, 優先度: Normal カテゴリ: lib ruby -v: ruby 1.9.2dev (2009-02-25 trunk 22626) [i686-linux] $ irb1.9 -f irb(main):001:0> RUBY_DESCRIPTION => "ruby 1.9.2dev (2009-02-25 trunk 22626) [i686-linux]" irb(main):002:0> false => false irb(main):003:0> false.define_singleton_method(:!){p "!false"; false} => # irb(main):004:0> false "!false" "!false" irb(main):005:0> irb(main):006:0* irb(main):007:0* irb(main):008:0* irb(main):008:0> => false !false が false を返すような状況だと、irb が式を評価した結果を返さないようです。 手元では、^D を何度か押すと評価した結果が返りました。上の例では、005 から 007 までは Enter を、008 のところでは ^D を 2 回入力しています。 るりまには、 > 主に論理式の評価に伴って副作用を引き起こすことを目的に > 再定義するものと想定されています。 と書かれているので、バグと言えるのかは微妙な気もしますが、 irb 側で何とかならないものでしょうか? ---------------------------------------- http://redmine.ruby-lang.org