我循环遍历一个数组。数组中的某些元素为空,表示此后的新组或行集。我希望有关迭代控制的帮助,所以我的代码更清晰一点。这就是我所拥有的。
xls = SimpleXlsxReader.open(xls_file.path)
rows = xls.sheets.first.rows
g = false
holdThis = Array.new
# Iterate XLSX content
rows.each do |row|
# An empty row mean new set
if row[0].present?
g = true
next
end
# Capture the set information
if g
holdThis = row
g = false
next
end
# Do stuff with row and holdThis
end
这很有效,但并不是很干净。 Ruby是否有一些等同于我可以从每个循环(或另一种循环)内部调用的搜索或获取方法?
这是我正在寻找的伪代码版本:一种方法,可以寻找每个循环到下一次迭代并覆盖行变量。有没有办法在Ruby中做到这一点?
xls = SimpleXlsxReader.open(xls_file.path)
rows = xls.sheets.first.rows
holdThis = Array.new
# Iterate XLSX content
rows.each do |row|
# An empty row mean new group
if row[0].present?
row = each.nextRow #Pseudocode
holdThis = row
row = each.nextRow #Pseudocode
end
# Do stuff with row and holdThis
end