初めての簡単な質問Rubyプログラマー。
Rubyでテキストのスラブをどのようにループしますか?改行が出てくるたびに、内側のループを再開したいと思います。
def parse(input)
...
end
str.each_line do |line|
#do something with line
end
イランビランジャが言ったこと。
または、新しい行で文字列を分割することもできます。
str.split(/\r?\n|\r/).each { |line| … }
split
がそれらを食べる間、each_line
は改行文字を保持することに注意してください。
ここで使用した正規表現は、3つの行末フォーマットすべてを処理します。 String#each_line
は、オプションの引数sep_string
で行を区切ります。これはデフォルトで$/
になり、それ自体がデフォルトで"\n"
になります。
最後に、より複雑な文字列解析を行う場合は、組み込みのStringScannerクラスを確認してください。
任意のパターンで行うこともできます:
str.scan(/\w+/) do |w|
#do something
end