2011-07-22 60 views
2

我是Ruby新手。
以下是將單列CSV文件加載到Ruby數組中的無用代碼。將單列CSV文件加載到Ruby數組中

問題:有什麼更好的嗎?
特別是,如何不硬編碼的項目數量?

require 'csv' 
COUNTRIES = Array.new(240) 
i = 0 
CSV.foreach "#{RAILS_ROOT}/config/countries.csv" do |country| 
    COUNTRIES[i] = country[0] 
    i = i + 1 
end 

回答

6

試試這個:

require 'csv' 
countries = CSV.read("#{RAILS_ROOT}/config/countries.csv").flatten 
+2

+1。如果CSV在一列之後有逗號,則最後需要額外的'.compact'。 –

+0

可能想抓住變量中的CSV.read的輸出,當然... – Andy

+0

好點:-) –