0

だから私は次のようなハッシュを持っています:

hash = { ["1", "2", "3"]=>"a", ["4", "5", "6"]=>"b", ["7", "8", "9"]=>"c" }

ただしhash[0]、コンソールに新しい行が表示されるようなことをしようとすると、hash[0][0][] メソッドが未定義であるというエラーが表示されます。

今、私はこれにアクセスして、次のようなことができるようにする方法を考えてhash["1"]います"a".

この方法でハッシュを作成できるため、内部のコンテンツにアクセスできると思います。

4

2 に答える 2

3

配列であるキーを使用してハッシュを作成する理由はわかりませんが、機能します:)

hash = { ["1", "2", "3"]=>"a", ["4", "5", "6"]=>"b", ["7", "8", "9"]=>"c" }

hash[["1", "2", "3"]]
=> "a"

あなたは逆を考えたいかもしれません:

hash = { "a"=>["1", "2", "3"], "b"=>["4", "5", "6"], "c"=>["7", "8", "9"] }

hash["a"]
=> ["1", "2", "3"]
于 2013-07-17T03:26:24.883 に答える
2

このようなものに直接アクセスする組み込みの方法はありませんが、使用selectすることで、「1」を持つキーと値のペアを除外し、その値を取得できます。

hash.select { |key| key.include?("1") }.values.first

これは、各整数が単一のキーにのみ存在することを前提としています。

于 2013-07-17T03:26:12.540 に答える