From: Yukihiro Matsumoto Date: 2009-02-26T10:37:19+09:00 Subject: [ruby-dev:38088] Re: [Bug #1215] irb doesn't finish evaluate on !false => false まつもと ゆきひろです In message "Re: [ruby-dev:38087] [Bug #1215] irb doesn't finish evaluate on !false => false" on Thu, 26 Feb 2009 10:02:45 +0900, Nobuhiro IMAI writes: |!false が false を返すような状況だと、irb が式を評価した結果を返さないようです。 |手元では、^D を何度か押すと評価した結果が返りました。上の例では、005 から 007 までは |Enter を、008 のところでは ^D を 2 回入力しています。 | |るりまには、 | |> 主に論理式の評価に伴って副作用を引き起こすことを目的に |> 再定義するものと想定されています。 | |と書かれているので、バグと言えるのかは微妙な気もしますが、 |irb 側で何とかならないものでしょうか? 無理でしょうね。falseのような基本的なオブジェクトの!を再定義 した場合でも正当に動作するプログラムを記述することは困難です。 そんな負担をライブラリ作者に負わせたくありません。!の再定義 はあくまでも自己責任で。