Ruby を使用してハッシュから別のハッシュに値を追加する方法

エノン

私はハッシュを持っています:

{:userdata=>["field: email,start: 0,end: 0"]}

そして、次のような別のハッシュに追加したいと思います。

{:userdata=>["field: resource.attributes.account_source.iban,start: 0,end: 0", "field: resource.attributes.account_source.person_name,start: 0,end: 0", "field: resource.attributes.account_target.iban,start: 0,end: 0", "field: resource.attributes.account_target.person_name,start: 0,end: 0"], :iddata=>["field: resource.attributes.account_source.account_id,start: 0,end: 0", "field: resource.attributes.account_source.person_id,start: 0,end: 0", "field: resource.attributes.account_target.account_id,start: 0,end: 0", "field: resource.attributes.account_target.person_id,start: 0,end: 0"], :infodata=>["field: resource.attributes.reason,start: 0,end: 0"], :balancedata=>["field: resource.attributes.amount,start: 0,end: 0"]}

2 番目のハッシュと値の配列には複数のキーがあるため、次のような正しい場所に値を追加する必要があります。

 {:userdata=>["field: resource.attributes.account_source.iban,start: 0,end: 0", "field: resource.attributes.account_source.person_name,start: 0,end: 0", "field: resource.attributes.account_target.iban,start: 0,end: 0", "field: resource.attributes.account_target.person_name,start: 0,end: 0", "field: email,start: 0,end: 0"], ....

2 番目のハッシュはより複雑で、「マージ」しようとしているハッシュの同じキーが含まれている可能性がありますが、もちろん、2 番目のハッシュに追加したい値がありません。

エリック・ドゥミニル

Hash#mergeブロックとともに使用し、Array#|2 つの配列の和集合を取得するために使用できます。

h1 = { userdata: ['field: email,start: 0,end: 0'] }
h2 = { userdata: ['field: resource.attributes.account_source.iban,start: 0,end: 0', 'field: resource.attributes.account_source.person_name,start: 0,end: 0', 'field: resource.attributes.account_target.iban,start: 0,end: 0', 'field: resource.attributes.account_target.person_name,start: 0,end: 0'], iddata: ['field: resource.attributes.account_source.account_id,start: 0,end: 0', 'field: resource.attributes.account_source.person_id,start: 0,end: 0', 'field: resource.attributes.account_target.account_id,start: 0,end: 0', 'field: resource.attributes.account_target.person_id,start: 0,end: 0'], infodata: ['field: resource.attributes.reason,start: 0,end: 0'], balancedata: ['field: resource.attributes.amount,start: 0,end: 0'] }

h3 = h1.merge(h2) { |_, old_array, new_array| new_array | old_array | }
# {:userdata=>["field: resource.attributes.account_source.iban,start: 0,end: 0", "field: resource.attributes.account_source.person_name,start: 0,end: 0", "field: resource.attributes.account_target.iban,start: 0,end: 0", "field: resource.attributes.account_target.person_name,start: 0,end: 0", "field: email,start: 0,end: 0"], :iddata=>["field: resource.attributes.account_source.account_id,start: 0,end: 0", "field: resource.attributes.account_source.person_id,start: 0,end: 0", "field: resource.attributes.account_target.account_id,start: 0,end: 0", "field: resource.attributes.account_target.person_id,start: 0,end: 0"], :infodata=>["field: resource.attributes.reason,start: 0,end: 0"], :balancedata=>["field: resource.attributes.amount,start: 0,end: 0"]}

:userdata'userdata'は同じ Ruby オブジェクトではなく、ハッシュ内の同じキーとは見なされないことに注意してください

最後に、ハッシュの値はハッシュではなく文字列配列です。フィールドが同じで値が異なる 2 つの文字列は、完全に異なると見なされます。

['field: a'] | ['field: a, value: 1']
# ["field: a", "field: a, value: 1"]

ハッシュの機能が必要な場合は、Hash.

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

ruby を使用してネストされたハッシュから値にアクセスする方法

分類Dev

ハッシュのRuby配列から値を取得する

分類Dev

Rubyのハッシュの配列からハッシュを削除する

分類Dev

Rubyの最も内側のハッシュ値に関してハッシュのハッシュの配列をソートする

分類Dev

Rubyハッシュの配列に新しい値を割り当てる方法

分類Dev

Rubyハッシュのキーとして定数を使用する

分類Dev

Rubyハッシュから値を取得する

分類Dev

Rubyのハッシュにキーと値のペアを追加する

分類Dev

ハッシュのハッシュを反復するRuby

分類Dev

rubyで同じキーを使用して配列ハッシュ内の値を合計する方法

分類Dev

Rubyでハッシュからクエリ引数を使用してURIを構築する方法

分類Dev

Ruby on Railsでハッシュを別のハッシュに動的に追加するにはどうすればよいですか?

分類Dev

ruby新しいキーと配列からの値でハッシュを作成する方法

分類Dev

関数を使用してRubyハッシュを設定する

分類Dev

logstashを使用して動的Rubyハッシュを解析する

分類Dev

Rubyハッシュの対応するキーから値を取得する

分類Dev

Rubyのハッシュから特定のキーを抽出する

分類Dev

条件演算子「for」とRubyの.eachを使用してハッシュに値を出力する

分類Dev

条件演算子「for」とRubyの.eachを使用してハッシュに値を出力する

分類Dev

rubyのハッシュの配列から値を取得します

分類Dev

rubyの配列からハッシュを作成する

分類Dev

引数rubyをハッシュキーとして使用する

分類Dev

Rubyで値が空の場合、ハッシュからキーを削除する

分類Dev

ハッシュの2つの値を結合して、rubyでハッシュを形成します

分類Dev

ハッシュの2つの値を結合して、rubyでハッシュを形成します

分類Dev

Ruby:ハッシュでtryを使用する2つの方法

分類Dev

MySQLからのハッシュのキーとして日付を使用するRuby

分類Dev

メソッドを使用してRubyの配列内のハッシュの最大値のキーを出力する

分類Dev

yamlのRubyハッシュ配列から要素を削除する最良の方法

Related 関連記事

  1. 1

    ruby を使用してネストされたハッシュから値にアクセスする方法

  2. 2

    ハッシュのRuby配列から値を取得する

  3. 3

    Rubyのハッシュの配列からハッシュを削除する

  4. 4

    Rubyの最も内側のハッシュ値に関してハッシュのハッシュの配列をソートする

  5. 5

    Rubyハッシュの配列に新しい値を割り当てる方法

  6. 6

    Rubyハッシュのキーとして定数を使用する

  7. 7

    Rubyハッシュから値を取得する

  8. 8

    Rubyのハッシュにキーと値のペアを追加する

  9. 9

    ハッシュのハッシュを反復するRuby

  10. 10

    rubyで同じキーを使用して配列ハッシュ内の値を合計する方法

  11. 11

    Rubyでハッシュからクエリ引数を使用してURIを構築する方法

  12. 12

    Ruby on Railsでハッシュを別のハッシュに動的に追加するにはどうすればよいですか?

  13. 13

    ruby新しいキーと配列からの値でハッシュを作成する方法

  14. 14

    関数を使用してRubyハッシュを設定する

  15. 15

    logstashを使用して動的Rubyハッシュを解析する

  16. 16

    Rubyハッシュの対応するキーから値を取得する

  17. 17

    Rubyのハッシュから特定のキーを抽出する

  18. 18

    条件演算子「for」とRubyの.eachを使用してハッシュに値を出力する

  19. 19

    条件演算子「for」とRubyの.eachを使用してハッシュに値を出力する

  20. 20

    rubyのハッシュの配列から値を取得します

  21. 21

    rubyの配列からハッシュを作成する

  22. 22

    引数rubyをハッシュキーとして使用する

  23. 23

    Rubyで値が空の場合、ハッシュからキーを削除する

  24. 24

    ハッシュの2つの値を結合して、rubyでハッシュを形成します

  25. 25

    ハッシュの2つの値を結合して、rubyでハッシュを形成します

  26. 26

    Ruby:ハッシュでtryを使用する2つの方法

  27. 27

    MySQLからのハッシュのキーとして日付を使用するRuby

  28. 28

    メソッドを使用してRubyの配列内のハッシュの最大値のキーを出力する

  29. 29

    yamlのRubyハッシュ配列から要素を削除する最良の方法

ホットタグ

アーカイブ