From: Joseph McDonald Date: 2001-08-24T10:31:13+09:00 Subject: [ruby-talk:20228] ruby accessing variables it doesn't need to? Why does this: module Kernel def getschop! a.chop if a = gets end end while line = getschop! puts "#{line}!" end give: ../junk.rb:5:in `getschop!': undefined local variable or method `a' for # (NameError) This works: module Kernel def getschop! a = gets a.chop if a end end thanks, -joe