Prev: user input timeout.
Next: any ruby libraries for db4o
From: Nathan Sharkey on 26 Mar 2010 06:54 Hi, I've searched google and these forums but can't find anything for this error i get. code in a file called test.rb ----------------------------- require 'csv' CSV::Reader.parse(File.open('stuff.csv', 'rb')) do |row| p row break if !row[0].is_null && row[0].data == 'stop' end ------------------------------ ruby test.rb # gives an error NameError: uninitialized constant CSV::Reader from (irb):8 from /usr/local/bin/irb:12:in `<main>' i get the same error when trying this in irb any ideas?? Riga -- Posted via http://www.ruby-forum.com/.
From: Brian Candler on 26 Mar 2010 07:48 Nathan Sharkey wrote: > require 'csv' > > CSV::Reader.parse(File.open('stuff.csv', 'rb')) do |row| ... > NameError: uninitialized constant CSV::Reader ... > any ideas?? Perhaps you have another file called csv.rb which is earlier in your $LOAD_PATH (If your own program is called csv.rb, that would the the culprit :-) In any case, you'd probably be better off with the fastercsv gem. -- Posted via http://www.ruby-forum.com/.
From: Nathan Sharkey on 31 Mar 2010 10:29 Brian Candler wrote: > Nathan Sharkey wrote: > >> require 'csv' >> >> CSV::Reader.parse(File.open('stuff.csv', 'rb')) do |row| > ... >> NameError: uninitialized constant CSV::Reader > ... >> any ideas?? > > Perhaps you have another file called csv.rb which is earlier in your > $LOAD_PATH > > (If your own program is called csv.rb, that would the the culprit :-) > > In any case, you'd probably be better off with the fastercsv gem. Hi, thanks for response, Fastercsv actually quits with the following notice which made me try CSV::Reader in the first place :-) "Please switch to Ruby 1.9's standard CSV library. It's FasterCSV plus support for Ruby 1.9's m17n encoding engine." I havn't created any csv.rb file and I'll check loadpath but I would be happy to use FasterCSV if anyone can suggest how i do this given the above notice. cheers -- Posted via http://www.ruby-forum.com/.
From: James Edward Gray II on 31 Mar 2010 10:39 On Mar 31, 2010, at 9:29 AM, Nathan Sharkey wrote: > Brian Candler wrote: >> Nathan Sharkey wrote: >> >>> require 'csv' >>> >>> CSV::Reader.parse(File.open('stuff.csv', 'rb')) do |row| >> ... >>> NameError: uninitialized constant CSV::Reader >> ... >>> any ideas?? >> >> Perhaps you have another file called csv.rb which is earlier in your >> $LOAD_PATH >> >> (If your own program is called csv.rb, that would the the culprit :-) >> >> In any case, you'd probably be better off with the fastercsv gem. > > Hi, thanks for response, Fastercsv actually quits with the following > notice which made me try CSV::Reader in the first place :-) > > "Please switch to Ruby 1.9's standard CSV library. It's FasterCSV plus > support for Ruby 1.9's m17n encoding engine." > > I havn't created any csv.rb file and I'll check loadpath but I would be > happy to use FasterCSV if anyone can suggest how i do this given the > above notice. You don't want to be using it. That's why I put the error there. :) The CSV library in Ruby 1.9 is literally the FasterCSV code. The reason it's preferable though is that it has been enhanced to handle Ruby 1.9-isms, like m17n. That's why you need to switch over. CSV::Reader is something from Ruby 1.8's version of CSV (before it was replaced by the FasterCSV code). You can't use that anymore with 1.9. Instead, you should mostly just be able to replace FasterCSV (or FSCV) with CSV in your code and it will work fine. Does that make sense? James Edward Gray II
From: James Edward Gray II on 31 Mar 2010 13:05
On Mar 31, 2010, at 12:01 PM, Robert Klemme wrote: > Obviously he is using CSV already - just with a part of the old interface that has not survived. :-) He rather needs to adjust to the interface > > CSV.foreach 'stuff.csv' do |row| > ... > end Exactly. I assumed since he mentioned using FasterCSV, he had code like this somewhere he could just strip the Faster (or F) off of. James Edward Gray II |