我有以下字符串:
aaaaaa; bbbbbbbb
cccccc; cccccccc
dddddd; dddddddd
我需要针对不同的行采取不同的行动。 更准确地说,我必须用第一行做一些事情,用另一个做一些事情 - 2,用最后一行做点事情3。伪代码:
out.each_line { |ln|
if ln first
do somenthing-1
end
if ln others
do somenthing-2
end
if ln last
do somenthing-3
end
}
答案 0 :(得分:1)
我觉得这个替代方案更具可读性:
first, *middle, last = out.lines
do_something_1(first)
middle.each{|line| do_something_2(line) }
do_something_3(last)
答案 1 :(得分:0)
怎么样:
lines = out.lines
do_something_1(lines.first)
lines[1..-2].each do |line|
do_something_2(line)
end
do_something_3(lines.last)
此代码将对第一行执行某些操作,对除第一行和最后一行之外的所有行执行一些其他操作,并在最后一行执行第三操作。