[#47049] fileのopenに関する動作についての質問 — 高橋作郎 <sakurou3960@...>

はじめまして。

14 messages 2010/05/04

[ruby-list:47056] Re: fileのopenに関する動作についての質問

From: 高橋作郎 <sakurou3960@...>
Date: 2010-05-04 14:55:29 UTC
List: ruby-list #47056
高橋です。

> エラーメッセージをきちんと読んでますか?簡単な英語ですから,
> 億劫がらずに読みましょう。行番号とファイル名を除き,
> 次のようになっているはずです。

ご指摘のとおりです。ご指摘ありがとうございます。

> w.rb:6: private method `chomp' called for nil:NilClass (NoMethodError)
>        from w.rb:3:in `open'
>
> chomp が nil に対して呼ばれたと指摘しているのです。次のように
> 考えてください。
>
> 行数が奇数だと,while の後の line = f.gets は真を与えます。
> しかし, ループ中の f.gets の読み込みは失敗して,nil を
> 与えます。さて, f.gets.chomp はどうなりますか?

ループ中のf.gets.chompは、nil.chompという状態です。
それでNomethodErrorが出るんですね。
納得しました。
丁寧に教えてくださってありがとうございました!

In This Thread