你如何循环Ruby中的多行string?
第一次Ruby程序员很简单的问题。
你如何通过Ruby中的一块文本循环? 每次换行符合时,我都想重新启动内部循环。
def parse(input) ... end 串#each_line
 str.each_line do |line| #do something with line end 
Iraimbilanja说。
或者你可以将这个string拆分成新的行:
 str.split(/\r?\n|\r/).each { |line| … } 
 请注意, each_line保留换行字符,而split吃它们。 
 请注意我在这里使用的正则expression式将照顾所有三行结束格式。  String#each_line sep_string用可选参数sep_string分隔行,缺省值为$/ ,它本身默认为"\n" 。 
最后,如果你想做更复杂的stringparsing,请检查内置的StringScanner类。
你也可以使用任何模式:
 str.scan(/\w+/) do |w| #do something end 
 str.each_line.chomp do |line| # do something with a clean line without line feed characters end 
我认为这应该照顾换行符。