62
A
答えて
103
(foo ||= []) << :element
しかし、読めるようにするのは本当に大変ですか?
+31
+1「読むことができないようにするのは本当に大変ですか?読みやすさは王様です。 –
+0
'foo'自体が値を参照する(ネストされた)ハッシュのようにもっと複雑な式である場合、これは値を複数回調べたり、検索された配列の値に対して別の変数を使うのを避ける良い方法です。 – sschuberth
49
プッシュ方式は、常に任意の配列で使用できます。私はそれがより好きです。以下のような潜在的な配列、平坦化の利点がある
# foo = nil
foo = Array(foo).push(:element)
# => [:element]
:
(a ||= []).push(:element)
2
また同様に、Kernel#Arrayから利益を得ることができる
# foo = [1]
foo = Array(foo).push(:element)
# => [1, :element]
関連する問題
- 1. rethinkdb文書の配列を作成または追加する
- 2. 配列の配列を作成するためのRubyスクリプト
- 3. Rubyはコントローラーの配列にハッシュ項目を追加します
- 4. Ruby配列の作成、Array.new対[]
- 5. Rubyでの配列またはハッシュ
- 6. PHP追加のMysqlクエリを使用した配列の追加
- 7. Ruby:配列の末尾にオブジェクトを追加する
- 8. Ruby on Railsの配列に追加する
- 9. 配列のインデックスをに追加したいselectオプションは配列のインデックスです
- 10. Elasticsearchの配列に追加
- 11. C++での配列 - 配列の要素の追加
- 12. 変換文字列配列は、Iが作成した配列の配列
- 13. Ruby - ループによって位置によってグループ化された配列の配列を作成します。
- 14. 追加は、シェフの配列属性
- 15. Railsで配列列を追加
- 16. Amazon DynamoDBで配列の配列を追加する
- 17. は、私は空の配列を作成している、と私は、この配列内の配列を作成し、追加したいのですが、多次元配列
- 18. コレクションに列挙型の配列を追加できません。
- 19. 配列を作成し、stdCLassオブジェクトの束を追加してください
- 20. 連想配列で新しいキーを作成し、それに値を追加
- 21. JS配列 - 配列の作成方法
- 22. 配列または配列の加重シャッフル?
- 23. は、配列にさらにデータを追加しました
- 24. アングル2の配列またはグループの作成方法
- 25. Powershell ConvertFrom-Jsonで配列を追加すると、配列の値に余分なスペースが追加されます
- 26. Rubyは、id => company_nameの配列またはハッシュをfind(:all)クエリから作成します
- 27. PowerShellで配列の配列を作成するには?
- 28. オブジェクトの新しいインスタンスを作成し、PHPの配列に同じ行で追加できますか?
- 29. Filestreamは問題を作成または追加します
- 30. Rubyで文字列をファイルに1行で作成/書き込み/追加できます
これを** **慣用であります方法。あなたは '(foo || = [])<<:element'のように1行にすることができますが、私はそれが醜いことがわかります。 –
IMO適切な方法は、初期値を持つことです。同じメソッド内で同じ変数の|| =と<<を持っていれば、IMOはコード臭いがあり、何か間違っています。 || = <<をどうやってするかは、本当の問題を修正するのではなく、単に化粧品をやっているだけです。 – apeiros