パンくず
Ruby Cookbook
1つのハッシュに複数の値を設定
概要
1つのハッシュに複数の値を設定
内容
基本、Hashはkeyとvalueの1対1で成り立ちます。
valueに配列を指定することで1対多でハッシュを利用することが可能です。
サンプル
require "pp" languages = [['Java','compile'],['JavaScript','script'],['Ruby','script'],['c','compile'],['c++','compile'],['Python','script'],['Erlang','functional']] language_map = Hash.new { |hash, key| hash[key] = [] } languages.each {|odd,even|language_map[even] << odd} pp language_map
出力
{"compile"=>["Java", "c", "c++"], "script"=>["JavaScript", "Ruby", "Python"], "functional"=>["Erlang"]}