Ruby ファイルを1行ずつ読み込む

Rubyで、openを使用して、ファイルを1行ずつ読み込むサンプルコードを記述してます。rubyのバージョンは2.7.2を使用してます。
環境
- OS windows10 pro 64bit
- ruby 2.7.2p137
open使い方
openを使用すれば、ファイルを1行ずつ読み込むことが可能です。
f = open("ファイル名")
以下は、hoge.txtの内容を読み取り表示するサンプルコードとなります。
hoge.txt

サンプルコード
f = open("hoge.txt")
f.each do |line|
p line
end
f.close
# "hoge\n"
# "hoge\n"
# "hoge"
getsを使用して読み込むこともできます。
f = open("hoge.txt")
while line = f.gets
p line
end
f.close
# "hoge\n"
# "hoge\n"
# "hoge"
行番号を付けて出力することも可能です。
f = open("hoge.txt")
while line = f.gets
printf("%6d %s", $., line)
end
f.close
# 1 hoge
# 2 hoge
# 3 hoge
eachとforeach利用
eachを使用すると、closeは自動で行ってくれます。
open("hoge.txt").each do |line|
p line
end
# "hoge\n"
# "hoge\n"
# "hoge"
File.foreachも同様で、よりシンプルに記述することができます。
File.foreach("hoge.txt") do |line|
p line
end
# "hoge\n"
# "hoge\n"
# "hoge"
ブロック構文を使用して、1行で記述することもできます。
File.foreach("hoge.txt") { |line| p line }
改行を取り除きたい場合は「chomp」を使用します。
open("add.txt").each do |line|
p line.chomp
end
-
前の記事
php 連想配列のキーの存在確認を行う 2021.02.19
-
次の記事
C# ファイルの存在チェックを実行する 2021.02.19
コメントを書く