diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | doc/syntax/methods.rdoc | 19 |
2 files changed, 24 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Mon Sep 22 19:49:12 2014 Zachary Scott <e@zzak.io> + + * doc/syntax/methods.rdoc: [DOC] [] and []= methods by @process + [Fixes GH-662] https://github.com/ruby/ruby/pull/662 + Mon Sep 22 18:21:35 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> * .travis.yml: Only osx build is enabled. linux builds is random failure 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 |