我很困惑这个代码对我不起作用。理解红宝石注入
tab=Array.new
tab<<"1,2,3"
tab<<"4"
tab<<"5,6"
x=tab.inject([]){|t,elt|
if elt.include?(',')
s=elt.split(',')
s.each{|y| t<<y}
else
t<<elt
end
}
STDOUT.puts x
============= outpout:5 6 但如果我改变代码,
tab=Array.new
tab<<"1,2,3"
tab<<"4"
tab<<"5,6"
x=tab.inject([]){|t,elt|
if elt.include?(',')
s=elt.split(',')
s.each{|y| t<<y}
else
t<<elt
end
t.each{|tt| tt} #i add this line
}
STDOUT.puts x
======输出:1 2 3 4 5 6 没有人有解释吗? thx
这整个事情可以写'tab.join(“‘)分裂(’”)' –
@MarkThomas为你的想法+1。 :-) –