更多的语法好奇心而不是要解决的问题......
我有两个长度相等的数组,并希望一次迭代它们 - 例如,在某个索引处输出它们的值.
@budget = [ 100, 150, 25, 105 ]
@actual = [ 120, 100, 50, 100 ]
Run Code Online (Sandbox Code Playgroud)
我知道我可以each_index像这样使用和索引数组:
@budget.each_index do |i|
puts @budget[i]
puts @actual[i]
end
Run Code Online (Sandbox Code Playgroud)
有没有Ruby方法可以更好地做到这一点?像这样的东西?
# Obviously doesn't achieve what I want it to - but is there something like this?
[@budget, @actual].each do |budget, actual|
puts budget
puts actual
end
Run Code Online (Sandbox Code Playgroud) Python的内置zip函数有没有Ruby等价物?如果没有,做同样事情的简洁方法是什么?
一点上下文:当我试图找到一个干净的方法来检查涉及两个数组时,就会出现这种情况.如果我有zip,我可以写下这样的东西:
zip(a, b).all? {|pair| pair[0] === pair[1]}
Run Code Online (Sandbox Code Playgroud)
我也接受一种干净的方式,没有任何类似的东西zip("干净"意味着"没有明确的循环").