我目前有一种方法,可以从网站上抓取数据,并将这些信息存储在一个数组中,稍后由其索引随机调用(对用户随机)。我想更进一步,迭代这个数组,并创建新的数组,其中数据通过特定的关键字存储,用户可以指定他们是否想要关于树木、花卉或食物的事实。
我如何编写代码?我需要创建一个新类吗?还是方法?我是否需要定义在另一个方法中调用的数组名以再次迭代?这是一种有效的方法。
我当前存储在数组中的刮板是
def facts
array=[]
doc = Nokogiri::HTML(URI.open("https://www.funfactsabout.net/plant-facts/"))
doc.css("ul.facts-list li").each do |list|
array.push(list.text)
end
return array
end
我班上的一个方法是
def more
input_prompt = "\n\n Enter a number between 1-42 for a random plant fact, or type 'leave' to exit: \n\n"
input = nil
while true
puts input_prompt
input = gets.strip
if input.to_i > 0 && input.to_i < facts.length + 1
puts facts[input.to_i - 1]
elsif input == "leave"
puts goodbye
return
else
puts "Sorry, I didn't understand that."
end
end
end
1条答案
按热度按时间ff29svar1#
我会为此创建一个类,比如
在类中,您根据事实名称构造url,如下所示
然后,您必须提示用户事实和数字,并可以生成例如散列