ルビーはphpのように同様の多次元配列を持っていますか?

アレンJz

phpのように:

$input = [
      'a' => 'A',
      'b' => 'B',
      'cdef' => [
             'c' => 'C',
             'd' => 'D',
             'ef' => [
                  'e' => 'E',
                  'f' => 'F'
             ]
      ]
]

多分ハッシュを使用しますか?以前にルビーを使用したことはありません:)

私がコードを書いたとき:

input = Hash.new
input['a'] = 'A'
input['b'] = 'B'
input['cdef']['c'] = 'C'
input['cdef']['d'] = 'D'
input['cdef']['ef']['e'] = 'E'
input['cdef']['ef']['f'] = 'F'

でのエラー

  input['cdef']['c'] = 'C'

メッセージ:

[]=' for nil:NilClass
アレクセイマティウシュキン

@ davidhu2000による答えは多かれ少なかれ正しいですがdefault_proc、コンストラクターで使用するという、より堅牢なソリューションを使用します。dup.clear魔法は再帰的に通過させることであるdefault_proc深くネストされた要素に至るまで:

input = Hash.new { |h, k| h[k] = h.dup.clear }
input['a'] = 'A' 
input['b'] = 'B' 
input['cdef']['c'] = 'C' 
input['cdef']['d'] = 'D' 
input['cdef']['ef']['e'] = 'E' 
input['cdef']['ef']['f'] = 'F' 

input

そうすれば、醜い冗長な割り当ては必要ありません。

input['cdef'] = {}
input['cdef']['ef'] = {} 

忍者の割り当て:

input = Hash.new { |h, k| h[k] = h.dup.clear }
input['a1']['a2']['a3']['a4']['a5'] = 42
input
#⇒ {"a1" => {"a2" => {"a3" => {"a4" => {"a5" => 42}}}}}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

キーは異なるがphpで同じ値を持つ2つの多次元配列の違いを取得するにはどうすればよいですか?

分類Dev

PHPは、サブ配列のキー値によって多次元配列からサブ配列を削除します

分類Dev

私は多次元配列に単一の配列を持っています

分類Dev

PHPを使用して、その中の値によってグループ化された多次元配列から値を抽出するにはどうすればよいですか?

分類Dev

PHPで多次元配列を使用して最後から最初までのデータを表示するにはどうすればよいですか?

分類Dev

角度はルビーのモジュールミックスインと同様の概念を持っていますか?

分類Dev

子としてキーを持つ多次元配列からキーのみを見つけるにはどうすればよいですか?

分類Dev

PHPで多次元配列の特定のレイヤーを削除するにはどうすればよいですか?

分類Dev

PHPの多次元配列で値を作成して渡すにはどうすればよいですか?

分類Dev

PHPで再帰的な多次元配列をまっすぐな多次元配列に変換するにはどうすればよいですか?

分類Dev

phpは値によって多次元配列から重複を削除します

分類Dev

PHPは、キーを持つ配列に基づいて多次元配列から値を取得します

分類Dev

PHP多次元配列はキーに基づいて特定の値を抽出します

分類Dev

同様の列名を持つ異なる無関係のテーブルから列を取得するにはどうすればよいですか?

分類Dev

PHP:多次元配列をループするためのより良い関数はありますか

分類Dev

まったく同じ列名の2つのテーブルを、一意の列名を持つ3番目のテーブルと結合して、新しいビューを作成するにはどうすればよいですか?

分類Dev

インデックスによって既存の多次元配列に配列を挿入するにはどうすればよいですか?[Python]

分類Dev

キーによって2つの多次元配列をマージする方法は?

分類Dev

このような多次元配列をPHPで印刷するにはどうすればよいですか?

分類Dev

多次元配列をビューからコントローラーにどのように渡しますか?

分類Dev

値に重複があり、他の列がphpの多次元配列で異なっているかどうかを確認しますか?

分類Dev

PHPで2つの多次元配列の違いを取得するにはどうすればよいですか?

分類Dev

1つの配列の値を多次元配列に割り当てるにはどうすればよいですか?

分類Dev

多次元配列をループして、値が1のキーを取得するにはどうすればよいですか?

分類Dev

多次元配列にすべての「レベル」で特定のキーと値のペアが含まれているかどうかを確認するにはどうすればよいですか?

分類Dev

PHP-多次元配列の特定の値を取得するにはどうすればよいですか

分類Dev

PHPで多次元配列のn番目の要素を取得するにはどうすればよいですか?

分類Dev

PHPの多次元配列間の更新、削除、追加を取得するにはどうすればよいですか?

分類Dev

多次元配列の要素をループして一致を検索するにはどうすればよいですか?

Related 関連記事

  1. 1

    キーは異なるがphpで同じ値を持つ2つの多次元配列の違いを取得するにはどうすればよいですか?

  2. 2

    PHPは、サブ配列のキー値によって多次元配列からサブ配列を削除します

  3. 3

    私は多次元配列に単一の配列を持っています

  4. 4

    PHPを使用して、その中の値によってグループ化された多次元配列から値を抽出するにはどうすればよいですか?

  5. 5

    PHPで多次元配列を使用して最後から最初までのデータを表示するにはどうすればよいですか?

  6. 6

    角度はルビーのモジュールミックスインと同様の概念を持っていますか?

  7. 7

    子としてキーを持つ多次元配列からキーのみを見つけるにはどうすればよいですか?

  8. 8

    PHPで多次元配列の特定のレイヤーを削除するにはどうすればよいですか?

  9. 9

    PHPの多次元配列で値を作成して渡すにはどうすればよいですか?

  10. 10

    PHPで再帰的な多次元配列をまっすぐな多次元配列に変換するにはどうすればよいですか?

  11. 11

    phpは値によって多次元配列から重複を削除します

  12. 12

    PHPは、キーを持つ配列に基づいて多次元配列から値を取得します

  13. 13

    PHP多次元配列はキーに基づいて特定の値を抽出します

  14. 14

    同様の列名を持つ異なる無関係のテーブルから列を取得するにはどうすればよいですか?

  15. 15

    PHP:多次元配列をループするためのより良い関数はありますか

  16. 16

    まったく同じ列名の2つのテーブルを、一意の列名を持つ3番目のテーブルと結合して、新しいビューを作成するにはどうすればよいですか?

  17. 17

    インデックスによって既存の多次元配列に配列を挿入するにはどうすればよいですか?[Python]

  18. 18

    キーによって2つの多次元配列をマージする方法は?

  19. 19

    このような多次元配列をPHPで印刷するにはどうすればよいですか?

  20. 20

    多次元配列をビューからコントローラーにどのように渡しますか?

  21. 21

    値に重複があり、他の列がphpの多次元配列で異なっているかどうかを確認しますか?

  22. 22

    PHPで2つの多次元配列の違いを取得するにはどうすればよいですか?

  23. 23

    1つの配列の値を多次元配列に割り当てるにはどうすればよいですか?

  24. 24

    多次元配列をループして、値が1のキーを取得するにはどうすればよいですか?

  25. 25

    多次元配列にすべての「レベル」で特定のキーと値のペアが含まれているかどうかを確認するにはどうすればよいですか?

  26. 26

    PHP-多次元配列の特定の値を取得するにはどうすればよいですか

  27. 27

    PHPで多次元配列のn番目の要素を取得するにはどうすればよいですか?

  28. 28

    PHPの多次元配列間の更新、削除、追加を取得するにはどうすればよいですか?

  29. 29

    多次元配列の要素をループして一致を検索するにはどうすればよいですか?

ホットタグ

アーカイブ