Sorry, you missed my point. Maybe some code will help. :-)
class Foo
def a
puts "Function 'a' called"
end
end
foo = Foo.new
(1..2).each do |i|
if i == 2
print "a=", foo.a, "\n"
else
a = 1
print "a=", foo.a, "\n"
end
end
which prints:
Function 'a' called
a=99
Function 'a' called
a=99
You see, functions are meant to belong to a class -- to be methods. Not that you can't declare functions that belong to the main class, but that's not what the design was for. So I guess if you're writing your code in a non-OO way, you could get stuck. But presumably your variable and function names will be better than 'a' :-).
elusion : http://matt.diephouse.com