Ruby 1.9でFasterCSVを使用しようとすると、標準のRuby1.9CSVライブラリの方が実際には高速であるという警告が表示されます。そこで、標準のRubyCSVライブラリを使用しました。これはRuby1.9または1.8.7で機能するはずです。
require 'csv'
module MyConfig
@mac_address_hash = {}
CSV.foreach("config.csv") do |row|
name, mac_address = row
next if name == "Name"
@mac_address_hash[name] = mac_address
end
puts "Now we have this hash: " + @mac_address_hash.inspect
def self.mac_address(computer_name)
@mac_address_hash[computer_name]
end
end
puts "MAC address of Desktop: " + MyConfig.mac_address("Desktop")
このコードの出力は次のとおりです。
Now we have this hash: {"Computer"=>" 02-46-81-02-46-cd", "Desktop"=>" 01-23-45-67-89-ab"}
MAC address of Desktop: 01-23-45-67-89-ab
さて、私があなたにしてほしいのは、このコードのすべての行を注意深く読み、それが何をするのか、そしてなぜそれが必要なのかを理解しようとすることです。これにより、長期的にはより優れたプログラマーになります。
このコードを改善して、CSVファイルが最初に必要になったときに遅延ロードすることができます。