[#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:47050] Re: fileのopenに関する動作についての質問
From:
"Hideo Konami" <konami@...>
Date:
2010-05-04 12:18:08 UTC
List:
ruby-list #47050
小波と申します。
>高橋作郎と申します。
>:質問: *.dat というファイルからの読み込みにおいて、奇数行目と偶数行目を
>それぞれわけて配列を 作成するというサンプルスクリプトを見ても、何故それぞれ
>きちんと分かれるのか理解できません。
> open("q.dat", "r") do |f|
> while line = f.gets
> qz[n] = line.chomp
> ans[n] = f.gets.chomp
> n += 1
> end
> end
f.gets はファイルから1行*ずつ*読み込んでいきます。
そこで
while line = f.gets
ではファイルからの1行読み込みを試みて,成功したらループに
入ります。そこで
ans[n] = f.gets.chomp
が実行されるとまた1行読み込みが実行されるわけですから,
結局2行が読み込まれるわけですね。
こういうときには,ソースの中に,f.gets の動作を確かめる
ための行を挿入して考えてみましょう。
puts line を2行目の後に,
puts ans[n] を4行目の後に。
他にも確かめる方法はいろいろあるでしょう。irb を使うのも
いい考えだと思います。とにかくいろいろと工夫してプログラ
ムをいじりましょう。