From: Martin DeMello Date: 2006-12-07T02:36:39+09:00 Subject: Re: Difference between nil? vs. (variable != nil)... On 12/6/06, Jason Vogel wrote: > Source A : > > if (@product_coverages != nil && @product_coverages.length > 0) > @product_coverages = @product_coverages.each do > |product_coverage| > product_coverage.external_description = > Coverage.find(product_coverage.coverage_id).external_description # test > if (product_coverage.external_description != nil) > product_coverage.external_description.capitalize! > end > end > end > > Source B : > > if (@product_coverages != nil && @product_coverages.length > 0) > @product_coverages = @product_coverages.each do > |product_coverage| > product_coverage.external_description = > Coverage.find(product_coverage.coverage_id).external_description # test > return "" if product_coverage.external_description.nil? > product_coverage.external_description.capitalize! > end > end > > I wanted to use Source B, but it return "" everytime. But Source A > works. I expected both of them to work. Put in a test print, to see what nil? is returning. It is possible for a class to override nil?, though it's hard to think of why one would. martin