From: Brian Candler Date: 2007-04-13T22:48:59+09:00 Subject: Re: Hpricot innerTEXT? On Fri, Apr 13, 2007 at 10:40:05PM +0900, chickenkiller wrote: > doc = Hpricot(File.open("rdf.xhtml")) > > puts (doc/"item"/"dc:subject").inner_text > # html imported webpagedesign > > (doc/"item").each do |t| > puts((t/"dc:subject").inner_text) > end > # html imported webpagedesign > > (doc/"item").each do |t| > puts (t/"dc:subject").inner_text > end > # html imported webpagedesign > # rdf.rb:12: warning: don't put space before argument parentheses > # rdf.rb:12: undefined method `inner_text' for nil:NilClass > (NoMethodError) > # from rdf.rb:11:in `each' > # from rdf.rb:11 > > I am wondering where the difference is between the two last blocks. > Any ideas? Hmm, looks like this should be something that can be replicated without hpricot. $ cat x.rb x = 3 puts (x-5).abs 1.times do puts (x-5).abs end $ ruby -v ruby 1.8.4 (2005-12-24) [i486-linux] $ ruby x.rb x.rb:5: warning: don't put space before argument parentheses 2 -2 x.rb:5: undefined method `abs' for nil:NilClass (NoMethodError) from x.rb:4 $ Congratulations, I think you've found a bug in the parser :-) I'll post this example to ruby-core. Regards, Brian.