# Newbie Q why doesn't this NEXT work

**URL:** <https://www.ruby-forum.com/t/newbie-q-why-doesnt-this-next-work/97522>\
**Category:** Ruby\
**Created:** [July 7, 2006, 6:01pm UTC](https://www.ruby-forum.com/t/newbie-q-why-doesnt-this-next-work/97522 "2006-07-07T18:01:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![bitsmith](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/9de053/32.png) [@bitsmith](https://www.ruby-forum.com/u/bitsmith)\
**Post date:** [July 7, 2006, 6:01pm UTC](https://www.ruby-forum.com/t/newbie-q-why-doesnt-this-next-work/97522/1 "2006-07-07T18:01:48Z")

</div>

the data: -17780 51697-62657 51697-62651 date: 2453507 \<\< good data  
error in data file:  
-17737,147401-93780  
147401-93780,147401-93780,12/28/2004  
ruby code:  
cppewq=[]  
CSV.open(“neat.txt”,“r”) do |row|  
hh=row[3]  
h1=row[1]  
h2=row[2]  
h3=row[0]  
next if hh=nil || h1=nil || h2=nil || h3=nil  
g=ParseDate::parsedate(row[3])[0…2]  
j=Date.new(g[0],g[1],g[2])  
puts 'the data: ‘+"#{row[0].to\_i.to\_s}"+’ ‘+row[1]+’ ‘+row[2]+’ date:  
'+"#{j.jd.to\_s}"  
cppewq\<\<[row[0].to\_i,row[1],row[2],j] if j!=nil && row[1]!=nil &&  
row[2]!=nil  
end

TypeError: can’t dup NilClass  
from c:/ruby182/lib/ruby/1.8/date/format.rb:236:in `dup' from c:/ruby182/lib/ruby/1.8/date/format.rb:236:in`\_parse’  
from c:/ruby182/lib/ruby/1.8/ParseDate.rb:9:in `parsedate' from (irb):25 from (irb):24:in`open\_reader’  
from c:/ruby182/lib/ruby/1.8/csv.rb:311:in `parse' from c:/ruby182/lib/ruby/1.8/csv.rb:531:in`each’  
from c:/ruby182/lib/ruby/1.8/csv.rb:531:in `parse' from c:/ruby182/lib/ruby/1.8/csv.rb:311:in`open\_reader’  
from c:/ruby182/lib/ruby/1.8/csv.rb:85:in `open’  
from (irb):24  
from (null):0

---

<div class="post-metadata">

**Author:** ![bitsmith](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/9de053/32.png) [@bitsmith](https://www.ruby-forum.com/u/bitsmith)\
**Post date:** [July 7, 2006, 6:17pm UTC](https://www.ruby-forum.com/t/newbie-q-why-doesnt-this-next-work/97522/2 "2006-07-07T18:17:35Z")

</div>

dave rose [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

> h3=row[0]  
> next if hh=nil || h1=nil || h2=nil || h3=nil

Comparison is ==, not = in Ruby. Here you would assign nil.

Tom

---

<div class="post-metadata">

**Author:** ![bitsmith](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/9de053/32.png) [@bitsmith](https://www.ruby-forum.com/u/bitsmith)\
**Post date:** [July 7, 2006, 8:44pm UTC](https://www.ruby-forum.com/t/newbie-q-why-doesnt-this-next-work/97522/3 "2006-07-07T20:44:59Z")

</div>

dave rose wrote:  
…

> g=ParseDate::parsedate(row[3])[0…2]  
> …  
> TypeError: can’t dup NilClass  
> …

Looks like row[3] is nil.

I always like to display the actual objects/values when  
developing/debugging to ensure that the state/data matches my  
expectaions…

Cheers
