diff --git a/ChangeLog b/ChangeLog index ad7a3b2044..8b3a59f57b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Wed Jan 23 10:34:47 2013 Eric Hodel + + * doc/syntax/assignment.rdoc (Local Variables and Methods): Fixed + example showing caching of a method's results into a local variable. + Added not about using an explicit receiver to call a method that + matches a local variable. Suggested by markov_twain on twitter. + Wed Jan 23 10:20:08 2013 Eric Hodel * lib/README: Fixed typo. Patch by Pradeep Sahoo. diff --git a/doc/syntax/assignment.rdoc b/doc/syntax/assignment.rdoc index c371593fbe..7e586225b9 100644 --- a/doc/syntax/assignment.rdoc +++ b/doc/syntax/assignment.rdoc @@ -86,11 +86,15 @@ code, for example: 42 # pretend this takes a long time end - big_calculation = big_calculation + big_calculation = big_calculation() Now any reference to +big_calculation+ is considered a local variable and will be cached. To call the method, use self.big_calculation. +You can force a method call by using empty argument parentheses as shown above +or by using an explicit receiver like self.. Using an explicit +receiver may raise a NameError if the method's visibility is not public. + Another commonly confusing case is when using a modifier +if+: p a if a = 0.zero?