入力メソッド・1行ずつ処理

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

IOクラスの入力メソッドのうち、1行ずつ処理していくメソッドを見ていきます。

スポンサーリンク

text.dat

Hello !
My name is Naoko.
I am japanese.
I like Ruby.
Ruby is a Programming Language.

以下、実行スクリプト。

require "pp"
 
puts "--- while"
open("text.dat"){|io|
    while line = io.gets
        puts "#{io.lineno} : #{line.chomp}"        # linenoで何行目かを取得
    end
    p io.eof?    # ファイルの終端を確認
}
 
puts "--- each"
io = open("text.dat")
p io
io.each{|line|
    puts "#{io.lineno} : #{line.chomp}"
}
p io.eof?    # ファイルの終端を確認
p io.closed?    # ファイルクローズを確認
io.close
p io.closed?    # ファイルクローズを確認
 
puts "--- readlines"
pp open("text.dat").readlines    # readlinesは、1行を1要素とした配列を返す

実行結果。

--- while
1 : Hello !
2 : My name is Naoko.
3 : I am japanese.
4 : I like Ruby.
5 : Ruby is a Programming Language.
true
--- each
#<File:text.dat>
1 : Hello !
2 : My name is Naoko.
3 : I am japanese.
4 : I like Ruby.
5 : Ruby is a Programming Language.
true
false
true
--- readlines
["Hello !\n",
 "My name is Naoko.\n",
 "I am japanese.\n",
 "I like Ruby.\n",
 "Ruby is a Programming Language."]
スポンサーリンク
 
スポンサーリンク