我对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()..)
答案 0 :(得分:2)
是的,它是完全相同的。它将按顺序循环遍历数组的元素。