* doc/syntax/assignment.rdoc (Local Variables and Methods): Made it
more clear that local variables are created by the parser, not execution. Thanks to John Hawthorn. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
6ff1653cf6
commit
1ecaf599ff
@ -1,3 +1,9 @@
|
|||||||
|
Sat Jan 19 09:27:31 2013 Eric Hodel <drbrain@segment7.net>
|
||||||
|
|
||||||
|
* doc/syntax/assignment.rdoc (Local Variables and Methods): Made it
|
||||||
|
more clear that local variables are created by the parser, not
|
||||||
|
execution. Thanks to John Hawthorn.
|
||||||
|
|
||||||
Sat Jan 19 09:15:58 2013 Eric Hodel <drbrain@segment7.net>
|
Sat Jan 19 09:15:58 2013 Eric Hodel <drbrain@segment7.net>
|
||||||
|
|
||||||
* doc/syntax/assignment.rdoc: Improved links
|
* doc/syntax/assignment.rdoc: Improved links
|
||||||
|
@ -70,7 +70,17 @@ have not assigned to one of these ambiguous names ruby will assume you wish to
|
|||||||
call a method. Once you have assigned to the name ruby will assume you wish
|
call a method. Once you have assigned to the name ruby will assume you wish
|
||||||
to reference a local variable.
|
to reference a local variable.
|
||||||
|
|
||||||
This leads to some potentially confusing code, for example:
|
The local variable is created when the parser encounters the assignment, not
|
||||||
|
when the assignment occurs:
|
||||||
|
|
||||||
|
a = 0 if false # does not assign to a
|
||||||
|
|
||||||
|
p local_variables # prints [:a]
|
||||||
|
|
||||||
|
p a # prints nil
|
||||||
|
|
||||||
|
The similarity between method and local variable names can lead to confusing
|
||||||
|
code, for example:
|
||||||
|
|
||||||
def big_calculation
|
def big_calculation
|
||||||
42 # pretend this takes a long time
|
42 # pretend this takes a long time
|
||||||
|
Loading…
x
Reference in New Issue
Block a user