我想創建一個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)。 –