Skip to content
2月 9 / rakkyoo

ruby 多次元ハッシュの初期化


rubyでの解析で,多次元ハッシュを使いたいけれど,初期化せずに書き出すとエラーが出るので,初期化方法を探していました.

たとえば,3次元配列の場合は

h[“1”][“2”][“3”] = 3 # (=> エラーになります.)

といった形で,書いていきたいのですが,突然こんな感じで書いてもエラーになってしまいます.

h = Hash.new { |hash,key| hash[key] = Hash.new { |hash,key| hash[key] = {} } }
h[“1”][“2”][“3”] = 3 # (=> エラーになりません.)

っと初期化をしてあげると,その後簡単にHashを登録していくことができます.

・2次元ハッシュの初期化
h = Hash.new { |hash,key| hash[key] = Hash.new {} }
・3次元ハッシュの初期化
h = Hash.new { |hash,key| hash[key] = Hash.new { |hash,key| hash[key] = {} } }

といった感じです.

この調子でいけば,何次元でもいけますね.

[`twib` not found]

Leave a comment

CAPTCHA


This blog is kept spam free by WP-SpamFree.