Rubyでファイルを読み込み1行ずつ表示する
Rubyを使ってファイルの文字列を読み込み、1行ずつ表示してみます。
読み込み対象のファイルはこちらです。
やってみたことは以下のとおりです。
全文を表示する
# encoding: utf-8 File.open 'C:\tmp\test.txt' do |file| puts file.read end
1行ずつ表示する
# encoding: utf-8 File.open('C:\tmp\test.txt', "r:utf-8" ) do |f| while line = f.gets if line.include?("洪庵") puts line end end end
each_lineを使って1行ずつ読み込む
# encoding: utf-8 File.open('C:\tmp\test.txt', 'r:utf-8') do |f| f.each_line do |line| if line.include?("人") puts line end end end
上の例だと、「人」という文字を含む行だけ表示することができる。
世のために尽くした人の一生ほど、美しいものはない。 ここでは、特に美しい生涯を送った人について語りたい。 この人は、江戸末期に生まれた。 あふれるほどの実力がありながら、しかも他人のために生き続けた。そういう生涯は、はるかな山河のように、実に美しく思えるのである。 といって、洪庵は変人ではなかった。どの村やどの町内にもいそうな、ごく普通のおだやかな人がらの人だった。 病人には親切で、その心はいつも愛に満ちていた。