diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/syntax/methods.rdoc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/doc/syntax/methods.rdoc b/doc/syntax/methods.rdoc index 648843e753..58179549f3 100644 --- a/doc/syntax/methods.rdoc +++ b/doc/syntax/methods.rdoc @@ -109,6 +109,25 @@ operator with an <code>@</code> as in <code>+@</code> or <code>!@</code>: Unary methods accept zero arguments. +Additionally, methods for element reference and assignment may be defined: +<code>[]</code> and <code>[]=</code> respectively. Both can take one or more +arguments, and element reference can take none. + + class C + def [](a, b) + puts a + b + end + + def []=(a, b, c) + puts a * b + c + end + end + + obj = C.new + + obj[2, 3] # prints "5" + obj[2, 3] = 4 # prints "10" + == Return Values By default, a method returns the last expression that was evaluated in the body |