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