在Ruby中,假设我们有一个二维数组,为什么这种语法很好:
array.each do |x|
x.each do |y|
puts y
end
end
但这不是:
array.each{|x|.each{|y| puts y}}
任何想法?由于
这应该是好的array.each{|x| x.each{|y| puts y}}
你忘了先引用x。
。.
应该是左关联算子。
如果您将do...end
块替换为{...}
仔细,您会发现您的第二种形式与您的第一种形式相同。但是puts array
完成了与整个双循环相同的事情。
如果我可以提供一些礼貌的元建议,你今天的两个Ruby问题看起来像是你可能被要求用一种你不懂的语言做一些事情,并且感到沮丧。这是可以理解的。但好消息是,与许多其他语言相比,Ruby构建在非常少的部分上。如果您花一点时间真正熟悉数组和散列,您会发现此后的操作要顺利得多。