Rubyでネストしたハッシュから全てのkeyを配列を取り出したいです。下記のようなクロージャを使用したコードを書いたのですが、うまくいきません。次のエラーが出てしまいます。
NoMethodError: undefined method 'search_nest' for main:Object
ruby
1def get_all_key(hash) 2 all_keys = [] 3 search_nest = lambda { 4 hash.each do |key, hash_value| 5 if hash_value.is_a?(Hash) 6 all_keys << search_nest(hash_value) 7 elsif hash_value.is_a?(Array) 8 hash_value.each do |array_value| 9 if array_value.is_a?(Hash) 10 all_keys << search_nest(array_value) 11 else 12 hash_value 13 end 14 end 15 else 16 hash_value 17 end 18 end 19 } 20 search_nest.call 21 all_keys 22end
これを利用してminitestで全てのkey値をチェックするつもりです。ハッシュの中に配列があり、その配列の中にハッシュがある場合にも対応しようとしています。
他の書き方もあればぜひ教えて下さい。
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/09 18:30