Actions
Bug #11115
closedAssigning a non-existent local variable to itself sets it to nil; unintuitive behaviour?
Description
Here's what normally happens when I try to reference a local variable that doesn't exist:
def foo
bar
end
foo
# => NameError: undefined local variable or method `bar'
But if I assign bar to "itself", it doesn't raise an error
def foo
bar = bar
bar
end
foo
# => no results
Looks like bar
in the second example is being set to nil
. This doesn't feel very intuitive to me; shouldn't this raise an error? I mean, if you try to assign the non-existent variable 'bar' to anything else, that's how it works:
def foo
fizz = bar
end
foo
# => NameError: undefined local variable or method `bar'
Is this a bug, or a feature?
Updated by nobu (Nobuyoshi Nakada) almost 9 years ago
- Description updated (diff)
- Status changed from Open to Rejected
George Millo wrote:
Is this a bug, or a feature?
A feature.
Actions
Like0
Like0