次のように、 @colors インスタンス変数に保存された解析済みデータを含む JSON ファイルがあります。
[{:color=>"red", :value=>"#f00"} {:color=>"green", :value=>"#0f0"} {:color=>"blue", :value=>"#00f"} {:color=>"cyan", :value=>"#0ff"} {:color=>"magenta", :value=>"#f0f"} {:color=>"yellow", :value=>"#ff0"} {:color=>"black", :value=>"#000"}]
ここで、この出力を反復処理して、あるビューにテーブルを作成したいと思います
<tr><td>color</td><td>value</td></tr>
このような別のインスタンス変数を導出すると -
@even_colors = @colors.values_at(* @colors.each_index.select {|i| i.even?}).map(&:values)
他のすべての色/値のペアで構成される配列の配列を取得します
[["red", "#f00"], ["blue", "#00f"], ["magenta", "#f0f"], ["black", "#000"]]
しかし、2 つの別個の配列を作成したいのですが、1 つは :color (赤、青など) で示される色の名前のみで構成され、もう 1 つは :value (#f00、#00f など) で示される 16 進数のみで構成されます。 )。私はそれを行う方法を理解できないようです。誰にも提案はありますか?ありがとう ...