0

それでは、この質問を修正させてください。

私は比較している2つのハッシュを持っています。コードのある時点で、次のような応答が返されます。

@moves = {:wm01 => {:a1=>"O", :a2=>" ", :a3=>" ", :b1=>" ", :b2=>"O", :b3=>" ", :c1=>" ", :c2=>" ", :c3=>" "}

これは、回答キーのハッシュに対応しています...

@anskey={
    :wm01=>":c3",:wm02=>":c2",:wm03=>":c1",:wm04=>":b3",:wm05=>":b1",:wm06=>":a3",:wm07=>":a2",:wm08=>":a1",
    :wm09=>":a3",:wm10=>":c1",:wm11=>":a1",:wm12=>":c3",:wm13=>":c3",:wm14=>":c1",:wm15=>":c3",:wm16=>":a1",
    :wm17=>":b1",:wm18=>":b2",:wm19=>":b3",:wm20=>":a2",:wm21=>":b2",:wm22=>":b2",:wm23=>":c2",:wm24=>":b2"
  }

この場合、 @anskey where @moves.keys == @anskey.keys を繰り返す必要があります

(うーん、自分の質問に答えただけかもしれません)

そして、設定します....

my_answer_is = @anskey.value

これがより明確であることを願っています。

以下の元の「質問」:

長い一日だったので、画面が疲れてきました...

私はこれを持っています...

str = [:wm24]

言いたい...

@anskey[:wm24]

これは間違っています..

@anskey[str]

何が正しいですか?

@anskey[?]
4

1 に答える 1

3

次のように、配列の最初の要素を渡すことができます。

@anskey[str.first]

または、インデックス(配列内の位置)に基づいて要素にアクセスする場合は、ゼロからカウントアップします。したがって、この場合:

@anskey[str[0]]
于 2012-08-17T03:29:13.613 に答える