私はこのようなハッシュを持っている:Ruby、キーを作成する最短の方法、ハッシュから値ペア?
h = {
type1: [1,2,3,4],
type2: [1,2,3,4],
type3: [1,2,3,4]
}
私はこのような出力をしたい:
[[:type1,1],[:type1,2],[:type1,3],[:type1,4],[:type2,1],[:type2,2] ... ]
それははるかに、書き込み理解し、簡単なブロックを読みやすくなりますように私は、実際のコードでそれを使用されることはありませんしかし、好奇心のために。それを行うための非常にルビー的な方法は何ですか、必要に応じてパフォーマンスの問題を無視してください。
あなたの例でハッシュが 'H'がコンパイルされない、と同じ理由で、あなたの期待出力も達成可能ではありません - あなたは、変数名が値として表示することはできません配列で。私はその理由のためにdownvotingです、あなたが@ Ruby –
Ditto on @ Wandのコメントである例を提供できるなら、私はdownvoteを削除します。明確にするために、Wandが "...配列の値"と言う場所。彼は「価値観」を意味していない。彼は鍵を指している。例えば、「タイプ」はおそらく値が未知の変数またはメソッドである。おそらく、 ':type1'や' 'type1" 'のようなリテラルであることを意味します。 –
ようこそスタックオーバーフロー。 SOは私のサイト用のコードではなく、コードのデバッグに役立ちます。リンクされたページと "[mcve]"を含む "[ask]"をお読みください。あなたの質問は非常に幅広く、問題のコーディングや調査に何の努力もしていません。 –