1 つのメンバーが配列である次のハッシュ (ダミー {}) があります。コード ロジックを構築して、(a) 各キーを評価 -> 値 (b) 各キーを評価 -> 値 (場合)ハッシュ内の配列です)
dummy = { :a1 => "xyz",
:b1 => ["xyz1", "ayz2", "xyz3", "xyz4"] }
値が1つだけのキーのコードは次のとおりです。
eval(dummy)[a1.to_sym]
配列に複数の値を持つハッシュ メンバーを評価するクリーンな方法が必要です。
IRB の出力は次のとおりです。
1.9.3-p327 :002 > dummy = { :a1 => "xyz",
1.9.3-p327 :003 > :b1 => ["xyz1", "ayz2", "xyz3", "xyz4"] }
=> {:a1=>"xyz", :b1=>["xyz1", "ayz2", "xyz3", "xyz4"]}
これで、メンバーとそのキーと値のペアにアクセスできます (以下のように非常に簡単な方法で:)
1.9.3-p327 :005 > pp dummy[:a1.to_sym]
"xyz"
=> "xyz"
1.9.3-p327 :006 > pp dummy[:b1.to_sym][0]
"xyz1"
=> "xyz1"
1.9.3-p327 :007 > pp dummy[:b1.to_sym][1]
"ayz2"
=> "ayz2"
1.9.3-p327 :008 > pp dummy[:b1.to_sym][2]
"xyz3"
=> "xyz3"
1.9.3-p327 :009 > pp dummy[:b1.to_sym][3]
"xyz4"
=> "xyz4"
ここで、メンバーとその値にアクセスするために上記の両方の状況を処理する「一般的な」ルビー コードが必要です。 1000 - 5000