私はRubyとプログラミング全般に非常に慣れていません。まず、以下のコードがあります。
hashy = {"a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 6, "f" => 6}
array = ["a", "b", "c"]
string = "df"
array.push (string.split(//))
puts array
test = array.map {|a| hashy.select {|k,v| a == k}}
puts test
このコードは、「a」、「b」、および「c」をハッシュに正常にマップし、ハッシュからのキーと値を使用して test を設定します。
これは、事前定義された配列に対して常に機能します。ただし、文字列 (この場合は文字列 "df") から配列に追加するか、文字列から配列を作成すると、配列値がハッシュにマップされなくなり、理由がわかりません。配列に文字列値を設定するさまざまな方法を調べましたが、毎回同じ問題が発生します。
私が見る限り、「df」もハッシュにマッピングする必要があります。
どんな助けでも大歓迎です。