ハッシュ h1 とキー k1 があります。ハッシュ内の指定されたキーの完全なキーと値のペアを返す必要があります。
キー「魚」のように、「魚」=>「水生動物」を印刷する必要があります
@h1、すべてのキーと値のペアを出力します。指定されたキーのキーと値のペアを出力する方法が必要です
私はRubyにかなり慣れていないので、初歩的な質問で申し訳ありません。
ハッシュ h1 とキー k1 があります。ハッシュ内の指定されたキーの完全なキーと値のペアを返す必要があります。
キー「魚」のように、「魚」=>「水生動物」を印刷する必要があります
@h1、すべてのキーと値のペアを出力します。指定されたキーのキーと値のペアを出力する方法が必要です
私はRubyにかなり慣れていないので、初歩的な質問で申し訳ありません。
Hash#assoc で同様のことができるメソッドがあります。ただし、キーと値は配列で返されるため、簡単にハッシュに変更できます。代わりに Hash#select を使用することもできます。これは、指定されたブロックに従ってハッシュを返します。
h1 = { "fish" => "aquatic animal", "tiger" => "big cat" }
h1.assoc "fish" # ["fish", "aquatic animal"]
h1.select { |k,v| k == "fish" } # {"fish"=>"aquatic animal"}
ルビーで >= 1.9
value_hash = Hash[*h1.assoc(k1)]
p value_hash # {"fish"=>"aquatic animal"}
ルビー < 1.9
value_hash = Hash[k1, h1[k1]]
p value_hash # {"fish"=>"aquatic animal"}
最も簡単な答え:
def find(k1)
{k1 => h1[k1]}
end
これは、必要なものである {'fish' => 'aquatic animal'} を返します。
すでに鍵を持っているので、鍵を取得するためにフープを飛び越える必要はありません! :-)
キーと値のペアから新しいハッシュを作成し、puts h1 を使用してその値を出力することで、回避策を得ました。