summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/syntax/methods.rdoc19
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