別の行 [番号] の入力に基づいて行 [レポート] のインスタンスを処理したい csv があります。
Report,Number,Name,Date
INC AMT %,12345678,ACME INC,10/30/2012
INC AMT %,12345678,ACME INC,10/31/2012
OUT AMT %,12345678,ACME INC,10/31/2012
# shortened for brevity
私のコードブロックは次のようになります。
require 'CSV'
module AlertHash
@alert_hash = {}
CSV.foreach("alerts.csv") do |row|
report, number = row
next if number == "Number"
@alert_hash[number] = report
end
def self.report(number)
@alert_hash[number]
end
end
puts "Alert: " + AlertHash.report("12345678")
# OUTPUT => Alert: OUT AMT %
# DESIRED OUTPUT => Alert: INC AMT %, OUT AMT %
各番号の最後の [レポート] スタックを処理できました。ただし、希望する出力は、特定の行 [番号] のすべてのレポートをキャプチャすることです。誰かがこれを行う方法についていくつかの指針を教えてもらえますか? たぶん、私はこの問題に間違った方法で取り組んでいます。