Furthermore, variables can't be called. If you have a proc object in a variable, you use "myproc.call" to invoke it. The only ambiguity is between methods call within the same 'self' and local variables:
def foo
42
end
def bar
puts foo #=> 42
foo = 30
puts foo #=> 30
puts self.foo #=> 42
end
In practice this isn't a big problem.