Ruby如何执行每个循环?

时间:2014-04-01 21:25:36

标签: ruby lambda

我对ruby中的循环问题有技术问题。

我有一个算法,它按顺序执行布尔值数组并在一个数据结构上运行。

def function(boolean, data_structure)

关键是执行顺序是最重要的因为表达式

 function(true, data_structure);function(true, data_structure); function(false, data_structure)

会将其他结果留在数据结构中而不是表达式

 function(true, data_structure);function(false, data_structure); function(true, data_structure)

我花了一些时间尝试每个循环,但我没有遇到任何问题,因为执行类似表达式的数据结构的其他结果如下

[true, true, false ....].each do |value| function(value, data_structure) end

我的问题:默认的ruby配置是我的每个循环跟循环一样吗?

for i in 0..array.size do function(array[i], data_structure) end

因为每个循环使代码更清晰,更容易修改,我正在考虑保留每个表达式而不是使用for循环。 (当然在我的情况下,我有更多的代码而不是只调用function()..)

1 个答案:

答案 0 :(得分:2)

是的,它是完全相同的。它将按顺序循环遍历数组的元素。