[ruby-list:39049] 1.8.1 で ARGF.read(バイト数) が使えない

From: Ito Kazumitsu <ito.kazumitsu@...>
Date: 2004-01-17 03:11:08 UTC
List: ruby-list #39049
伊藤と申します。

http://www.ruby-lang.org/cgi-bin/ruby-bugs-ja/incoming?id=585;page=7;user=guest
にも書きましたが、1.8.0 から 1.8.1 に更新してから

while true
  w = ARGF.read(2)
  if w.nil?
    break
  end
end

という書き方ができなくなって困っています。

ARGF のバイト数が read に指定するバイト数の整数倍の場合は正常終了
しますが、さもないと、cannot convert nil into String (TypeError)
というエラーが発生してしまいます。

当方で運用しているケースでは ARGF を STDIN に置き換え可能な
ケースばかりだったので、ARGF.read を STDIN.read に書き換えて
問題を回避しています。

In This Thread

Prev Next