[#47045] Is Ruby1.8.7 end-of-life? — "ISHIKAWA Takayuki" <rechka_osaka@...>
こんにちは、石川です。
4 messages
2010/05/03
[#47049] fileのopenに関する動作についての質問 — 高橋作郎 <sakurou3960@...>
はじめまして。
14 messages
2010/05/04
[#47050] Re: fileのopenに関する動作についての質問
— "Hideo Konami" <konami@...>
2010/05/04
小波と申します。
[#47051] Re: fileのopenに関する動作についての質問
— 高橋作郎 <sakurou3960@...>
2010/05/04
2010年5月4日21:18 Hideo Konami <konami@kyoto-wu.ac.jp>:
[#47093] [ANN] Ruby/Tk-Kit for RubyInstaller 1.9.1p378rc2 — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
6 messages
2010/05/20
[#47104] rails3 ドキュメント翻訳について — Makoto Kuwata <kwa@...>
桑田といいます。
11 messages
2010/05/24
[ruby-list:47055] Re: fileのopenに関する動作についての質問
From:
ikezawa@... (ikezawa)
Date:
2010-05-04 14:40:06 UTC
List:
ruby-list #47055
池澤といいます。
小波さんから詳細解説あったので、いまさらですが・・・書いてたので
> ちなみに、このやり方でループを作成するとdatファイルが奇数行しかないと
> エラーが出るという考え方でよろしいでしょうか?
> (datファイルを奇数行にして実行してみると確かにエラーが出ました。その原因は
> whileに与えた line=f.gets が偽になるからですか?)
ファイルが奇数行のときのふるまいを理解するのに、irbでやってみました。
(Windowsです)
既にるびきちさんからxmpfilterというツールが紹介されていますが、小波さん
も言われているirbも「確かめツール」としては良いかなと思います。
#--以下 cmd.exe実行画面----------------------------------------------
>type q.dat
1
2
3
>irb --simple-prompt
>> f = open("q.dat")
=> #<File:q.dat>
>> while line = f.gets
>> p line
>> end
"1\n"
"2\n"
"3\n"
=> nil
>> p f.gets
nil
=> nil
>> nil.chomp
NoMethodError: private method `chomp' called for nil:NilClass
from (irb):6
>> f.close
=> nil
>> exit
>
#------------------------------------------------
・q.datの全ての行を読み込んだ後getsすると、「もうみんな読んじゃって、読
み込むべき行なんてありませーん」とnilが返る。
・nil.chompしようとするから「nilにはchompなんていうメソッドはありませー
ん」というNoMethodErrorが返る
みたいですね。・・・多分
irbでやってみるとよく分かることが多くて、勉強になります。
確信持てないとき 何はともあれ irb とかです。
Ruby独学は特殊なことではなく、聞いてみると「それ普通じゃね?」みたいです
よ。私も独学ですが、独学とはいえruby-listもあるし、勉強会とかでいろいろ
教えてもらえたりします。お互いがんばりましょう。
あっ、るびきちさんの『Ruby逆引きハンドブック』も辞書のように使わせてもらっ
てますです。