1つのキーに複数の値が対応するハッシュ

備忘録目次 - ロバの耳

def check_mutilple_value( v, test)
	return v.index(test) if v.kind_of? Array
	v == test
end
def get_food_by_color( h, c)
	ret = []
	h.each_pair{|k,v| ret << k if check_mutilple_value(v,c)}
	ret
end

h = {
	'Apple'  => 'red',
	'Pepper' => ['green','red']
}
p get_food_by_color( h, 'red')
#=> ["Pepper", "Apple"]

まじめに使うためには,キーの追加や削除にも対応しないといけない.
リンゴも配列にしたほうがいい?'Apple' => ['red']のように.