我想创建一个Country对象的数组。我已经检查了代码的每一部分,到目前为止,唯一不起作用的是将Country对象实际添加到数组中。
有人能帮我理解为什么
array << object
不起作用?整个代码可以在这里找到http://pastebin.com/jNyJvS3c并且问题部分在第23行。添加对象到初始化@array
-2
A
回答
1
在代码country.nil? {@countries << country};
中,{...}
中的代码被视为块并且未被执行。下面是更正
下面是与修正这些功能提示:
def add_country(country)
@countries << country unless country.nil?
end
def to_s(n)
string = ""
for i in 0..n do
string << @countries[i].to_s unless @countries[i].nil?
end
return string
end
+0
omgg非常感谢你!我从上个星期五开始讲块,并且已经忘了x(但是谢谢:) 除非语法,我认为这样会非常有用,所以很高兴知道我可以把它放在最后而不是开头线 – Scy
0
在第23行,你实际上是一个块传递到零?方法。这个块{@countries < < country}永远不会被称为方法nil?不期望一个块。
所以正确的方式做你需要的东西:
def add_country(country)
@countries << country unless country.nil?
end
相关问题
- 1. 如何初始化一个Array对象?
- 2. 添加数组对象不初始化
- 3. 使用对象初始化程序初始化对象时添加DataCollection属性
- 4. 初始化对象
- 5. 对象初始化
- 6. 初始化对象
- 7. 初始化对象
- 8. 对象初始化
- 9. 具有延迟初始化的对象 - 添加到Session或Viewstate
- 10. 将对象添加到初始化列表
- 11. 初始化父对象后初始化相关的对象
- 12. 在初始化std :: array
- 13. 如何构造具有初始化列表的std :: array对象?
- 14. Knockout JS Computed Array:无效的对象初始化程序
- 15. 使用新的Array()初始化一个对象数组
- 16. 添加对象初始状态减速
- 17. 对象变量初始化
- 18. Java对象初始化
- 19. 超在初始化对象
- 20. MATLAB初始化对象
- 21. 初始化结构对象++
- 22. LINQ和对象初始化
- 23. 流对象初始化
- 24. Ninject - 初始化对象
- 25. 矢量对象初始化
- 26. C++对象初始化
- 27. 初始化“嵌套”对象
- 28. 初始化Javascript对象
- 29. 需要初始化对象
- 30. Javascript对象初始化
你可以粘贴你的代码在你的问题,并使用代码格式化来突出他们作为代码 –
我投票关闭这一问题作为题外话,因为寻求调试帮助的问题(“**为什么不是这个代码工作?”)必须包括所需的行为,*特定的问题或错误*和*在问题本身中重现它*所需的最短代码* *。没有**明确问题陈述**的问题对其他读者没有用处。请参阅:[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 –