Ruby each.with_index(1)返回错误:未给定块(yield)



尝试迭代表行,跳过第一行。使用Ruby、Cucumber和Page对象gem。

PAGE_CLASS

table(:table_data, id: 'list')

步骤定义

@current_page.table_data_element.each.with_index(1) do |row|
puts row.value
end

获取错误消息:LocalJumpError: no block given (yield)

试试这个

array.drop(1).each do |row|
...
end

这是怎么回事?

  • drop跳过n元素,这不会修改原始数组
  • each枚举所有剩余元素

在不修改数组的情况下,一种干净的方法是:

array[1..-1].each { |row| }

array[1..-1]指定数组中的索引范围,从索引1开始(因为0将是数组中第一个元素的索引),一直到最后一个索引(-1)。

编辑:OP已经更新了返回的信息不是数组,以下语法应该符合问题的意图:

@current_page.table_data_element.each.with_index(1) do |row, index|
puts row.value
end

这段代码对我有效。

@current_page.table_data_element.each do |row|
if row.text == ''
next
else
row.link_element(text: 'Edit').visible?
end
end

相关内容

  • 没有找到相关文章

最新更新