62
A
回答
103
(foo ||= []) << :element
但是meh。保持可讀性真的很繁瑣嗎?
+31
+1:「保持可讀性真的太繁重嗎?」可讀性是王道。 –
+0
如果'foo'本身是一個更復雜的表達式,就像在其中查找值的(嵌套)散列一樣,這是避免多次查找值或花費另一個變量來查找數組值的好方法。 – sschuberth
49
您也可以在任何陣列上始終使用push方法。我更喜歡它。
(a ||= []).push(:element)
2
你也可以受益於Kernel#Array,如:
# foo = nil
foo = Array(foo).push(:element)
# => [:element]
具有壓扁潛在陣列,像的好處:
# foo = [1]
foo = Array(foo).push(:element)
# => [1, :element]
相關問題
- 1. 創建或追加到rethinkdb文檔中的數組
- 2. 使用ruby創建並追加到CSV
- 3. SQL創建表或追加
- 4. 如何在Java中爲char數組創建追加方法
- 5. 如何追加到CSV在Ruby中
- 6. 追加到Excel中已創建
- 7. 在gSheets中追加數組?
- 8. 在Ruby on Rails中創建對象列表或數組
- 9. 將多個數組追加到ruby中的散列
- 10. 如何在Unity C中添加或追加數組中的值#
- 11. 如何在numpy中將數組追加到數組中?
- 12. 追加到Ruby的
- 13. 更優雅/ pythonic的方式來追加到一個數組,或創建它
- 14. 追加到每個迭代內的dom或創建一個數組和輸出?
- 15. 如何在aspx頁面中創建錨點或追加項目?
- 16. 追加到數組中的Java
- 17. 追加到Clickhouse中的數組
- 18. Swift - 追加到結構中的數組
- 19. 追加到Swift中的泛型數組
- 20. 從數組中追加文本到div
- 21. 追加到JSON數組在Ruby on Rails的
- 22. ruby:在追加到數組之前驗證輸入
- 23. JQuery在創建後追加到父項
- 24. 在Ruby中創建
- 25. Ruby動態創建數組
- 26. NumPy堆棧或將數組追加到數組
- 27. VB - 追加到數組?
- 28. C++追加到數組
- 29. 將數組追加到UICollectionView
- 30. 將數組追加到div
這** **是慣用辦法。你可以把它作爲'(foo || = [])<<:element',但我覺得它更醜。 –
IMO的正確方法是有初始值。如果你在同一個方法中有相同的變量|| =和<<,你的IMO有一個代碼異味,並且已經做了一些錯誤。問怎麼做|| =「很好只是在做化妝品而不是解決真正的問題。 – apeiros