From 27841296538ece9c149d85da72c9234ad08556d2 Mon Sep 17 00:00:00 2001 From: drbrain Date: Wed, 23 Jan 2013 01:35:16 +0000 Subject: * 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- doc/syntax/assignment.rdoc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'doc') 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? -- cgit v1.2.3