1

店舗のオーナーが、自分の製品が世界中でどれだけ売れているか、どこで最も売れているかを知りたいとします。

彼は次のデータを持っています: |ID,Currency,Quantity,Location|

各通貨 (データセット > 10,000) のデータを反復処理するのではなく、明示的な指定なしで通貨に固有の配列にデータを入れる方法はありますか?つまり、回避する方法はありますか?

if curr == "USD"; USDid << ID; USDquan << Quantity
elsif...

...等々?この質問の目的のために、監視対象の通貨に対して *id および *quan 配列が存在すると仮定します。

通貨を見て、データを適切な配列に入れることができるある種の正規表現のトリックはありますか?

4

1 に答える 1

1

はい。複数の配列の代わりに配列のハッシュを使用します。

sale_data = {}
sale_data.default = {"ID" => [], "Quantity" => [], "Location" => []}
# Later...
sale_data[curr]["ID"] << ID; sale_data[curr]["Quantity"] << quan; #Etc..

このdefault=呼び出しにより、通貨を事前に定義しなくても、好きなだけ通貨を割り当てることができるようになります。したがって、コードのどこにでも、たとえば USD の前のエントリがない場合は、データを追加するときに作成されます。

于 2013-02-12T23:19:03.003 に答える