我的问题是我无法在 Ruby 中通过引用传递。我有两个功能searching
和get_title_ids
.
我有两个数组searching
(1) 标题 (2) href
需要更新。
def searching
title = []
href = []
(0..20).step(10) do |i|
prev= title.length
title, href = get_title_ids(i, title, href) ## <<-- Should have just done "get_title_ids(i, title, href)"
## something which on next iteration will increase the ids and hrefs
puts "\nthe title lenght is #{title.length} and href length is #{href.length}\n"
assert_operator prev,:<,title.length,"After scrolling to bottom no new jobs are getting added"
end
end
def get_title_ids (start_from=0, title=[], href=[])
#Part of code which can store all links and titles of jobs displayed
(start_from..(titles.length-1)).each do |i|
unless titles[i].text.chomp
title << titles[i].text.chomp
href << titles[i].attribute("href")
end
end
end
return [title, href] ### <<---- this is what messed it up
end
问题是我无法将push
新元素添加到数组中title
并且href
已经在searching
.
每次我打电话时get_title_ids
,我都不想收集我以前收集的数据(因此是 start_form)。
我的问题不是记忆而是时间。所以我不太担心调用get_title_ids
函数时数据被复制,而不是我不得不浪费时间来报废我在前一个 for 循环中已经报废的数据。
任何人都知道如何在 Ruby 中通过引用破解通行证。
编辑
所以通过阅读下面的问题,我发现我不需要执行return
from get_title_ids
。然后这一切都奏效了。