/ / हैश को इंटेगर में नहीं बदल सकते हैं

हैश को इंटीजर में परिवर्तित नहीं कर सकता (TypeError) - रूबी, रूबी-ऑन-रेल -3, रूबी-ऑन-रेल-3.2

CSV फ़ाइल मेरे पास एक निर्देशिका में 1000 फाइलें हैं। मैं उस निर्देशिका में सभी CSV फ़ाइलों को कॉल करना और निष्पादित करना चाहता हूं if शर्त। अगर हालत संतोषजनक है तो इसे प्रिंट करना चाहिए name इसे छापना चाहिए "nothing"

सीएसवी का उदाहरण:

name,id,address,country,food
A,11,bcvhcbdc,india,biryani

...

require "csv"

path="/logs/*exception_evaluation_summary.csv"

#calling csv files in the directory
Dir.glob(path).each do |f|
#reading csv files
csv = CSV.read(f, :headers=>true, :encoding => "bom|utf-8")

csv.each do |record|
if (record["id"] != 0 && record["country"]=="india" && record["food"]=="biryani")
print record[name]
else
print "nothing"
end
end
end

उत्तर:

जवाब के लिए 0 № 1

आपकी त्रुटि है print record[name], इसे बदलें print record["name"] और आपको ठीक होना चाहिए:

csv.each do |record|
if (record["id"] != 0 && record["country"]=="india" && record["food"]=="biryani")
print record["name"]
else
print "nothing"
end
end