将单列CSV文件加载到Ruby数组中

Nic*_*oul 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
Run Code Online (Sandbox Code Playgroud)

Tap*_*nen 6

试试这个:

require 'csv'
countries = CSV.read("#{RAILS_ROOT}/config/countries.csv").flatten
Run Code Online (Sandbox Code Playgroud)

  • +1.如果CSV在一列之后有逗号,那么最后需要一个额外的`.compact`. (2认同)