diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | doc/syntax/assignment.rdoc | 6 |
2 files changed, 12 insertions, 1 deletions
@@ -1,3 +1,10 @@ +Wed Jan 23 10:34:47 2013 Eric Hodel <drbrain@segment7.net> + + * 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 <drbrain@segment7.net> * 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 <code>self.big_calculation</code>. +You can force a method call by using empty argument parentheses as shown above +or by using an explicit receiver like <code>self.</code>. 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? |