🖥
Ruby | ハッシュのキーに配列を使う
使えるんだ。知らなかった。
定義の例
hash = {[:a, :a] => 100, [:a, :b] => 200}
# => {[:a, :a]=>100, [:a, :b]=>200}
ハッシュ追加の例
hash[[:a, :c]] = 300
# hash = {[:a, :a]=>100, [:a, :b]=>200, [:a, :c]=>300}
用途
ケースによっては、次のように、ネストしたハッシュを作らなくて良くなりそう。
工夫しないと NoMethodError が出るから厄介。
hash = {}
hash[:a][:a] = 100
# => NoMethodError: undefined method `[]=' for nil:NilClass
ただしご覧のとおり「ネスト」しているわけではないので
「ひとつの親要素を取り出して、その子分を展開する」とかは出来ないかも。
環境
- ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
公開日時
2016-07-28
Discussion