【Ruby】IO・File
このあたりはいろいろ使いそうなので。。。。
◆jleague.txt
鹿島アントラーズ
浦和レッズ
ガンバ大阪
川崎フロンターレ
アルビレックス新潟
清水エスパルス
横浜・Fマリノス
サガン鳥栖
ベガルタ仙台
こちらのファイルを使います。
(1)IO#readを使うパターン
①ソース(file_read.rb)
File.open 'jleague.txt' do |file|
puts file.read
end
②実行結果
# ruby file_read.rb
鹿島アントラーズ
浦和レッズ
ガンバ大阪
川崎フロンターレ
アルビレックス新潟
清水エスパルス
横浜・Fマリノス
サガン鳥栖
ベガルタ仙台
ファイルの内容をすべて読み込んで一気に出力するパターンです。
あんまり実務では使わなさそう。。。。
(2)IO#getsを使うパターン
①ソース(file_gets.rb)
File.open 'jleague.txt' do |f|
while line = f.gets
puts line
end
end
②実行結果
# ruby file_gets.rb
鹿島アントラーズ
浦和レッズ
ガンバ大阪
川崎フロンターレ
アルビレックス新潟
清水エスパルス
横浜・Fマリノス
サガン鳥栖
ベガルタ仙台
こっちは1行ずつ読み込んで出力するパターンです。
こっちのほうが使いそうですね。
(3)IO#each_lineを使うパターン
①ソース(file_eatch_line.rb)
File.open 'jleague.txt' do |f|
f.each_line do |line|
puts line
end
end
②実行結果
# ruby file_gets.rb
鹿島アントラーズ
浦和レッズ
ガンバ大阪
川崎フロンターレ
アルビレックス新潟
清水エスパルス
横浜・Fマリノス
サガン鳥栖
ベガルタ仙台
IO#getsと同じ感じですね。
IO#getsとIO#each_lineだとどっちを使ったほうがいいのだろう??