ファイルからデータを1行ずつ読み込む

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

今度は、以下のようなファイルからデータを1行ずつ読み込む例です。

スポンサーリンク

num.dat

24
46
8
78
61
223456
546
789

実行するファイルは、以下の通り。

fileread3.rb

file = open(ARGV[0])
 
count = 0    # データ数(行数)
total = 0    # データの合計値
while data = file.gets    # 1行ずつデータ読み込み
    puts data.to_i
    total += data.to_i
    count += 1
end
 
print "count: ", count, "\n"
print "total: ", total
file.close

以下のように、コマンドラインから、数値のデータが記された「num.dat」を引数として指定して、fileread3.rbを実行します。

ruby fileread3.rb num.dat

実行結果。

24
46
8
78
61
223456
546
789
count: 8
total: 225008

データが1行ずつ読み込まれて、そのデータ数(行数)と合計値が表示されます。

今度は、同じ「num.dat」と使って、数字が100より大きいデータのみを抜き出してみます。

file = open(ARGV[0])
 
count = 0    # データ数(行数)
total = 0    # データの合計値
while data = file.gets    # 1行ずつデータ読み込み
    if data.to_i > 100
        puts data.to_i
        total += data.to_i
        count += 1
    end
end
 
print "count: ", count, "\n"
print "total: ", total
file.close

実行結果。

223456
546
789
count: 3
total: 224791
スポンサーリンク
 
スポンサーリンク