我编写了一个程序,用户输入日期以查找某些股票信息。
我使用了一系列if
语句,因此程序可以查找他们想要的信息类型。用户可以查找10种不同类型的信息:“打开”,“高”,“低”,“关闭”,“音量”,“更改”,“百分比变化”,“调整结束”,“交易价值” “,”交易量“。
问题是,当该类型的信息不存在信息时,该程序不起作用。
这是出现的错误:
lookup.rb:75:in `<main>': undefined method `[]' for nil:NilClass (NoMethodError)
这是我的if
陈述之一:
if input == "open"
if data[1] != nil
puts "The open of your stock is: " + data[1]
else
puts "Sorry, but that value wasn't recorded"
end
end
让我知道你需要其他程序。
答案 0 :(得分:2)
您可以执行类似
的操作if data && data[1] != nil
将在尝试访问data
元素
data[1]
是否存在
答案 1 :(得分:0)
如果没有剩余的代码,这只是在您使用data
时它看起来没有问题。如果是这种情况,请不要这样做。
这样的事情可能有所帮助:
if input == "open" && !data.nil?
if data[1] != nil
puts "The open of your stock is: " + data[1]
else
puts "Sorry, but that value wasn't recorded"
end
end
但如果我们让您的代码可以查看,那么可能会有更好的解决方案。