Foreach.rb

This content was produced by an LLM and could include errors.

このスクリプトは File.foreach の入れ子ループで2つのテキストファイルを突き合わせ、完全一致する行を見つけるたび MATCHED: ... を出力します(b.txt の 9, 2, 6 が該当)。foreach は1行ずつ読むため readlines よりメモリ効率が良く、内側ループの break により外側の各行は最初の一致で打ち切られます。比較には改行コードを含む文字列がそのまま使われます。

File.foreach('input/file/foreach_b.txt') do |line1|
  File.foreach('input/file/foreach_a.txt') do |line2|
    if line1.eql?(line2)
      puts("MATCHED: #{line1}")
      break
    end
  end
end
MATCHED: 9
MATCHED: 2
MATCHED: 6
#=> nil

Ruby 4.0.6