I understand that operators (e.g. +, -, *, []) are nothing more than method names so that irb(main):027:0> x=[101,102,103,104,105] => [101, 102, 103, 104, 105] irb(main):028:0> x.[](3) => 104 (Those familiar with operator overloading can skip the example and go to my question below. The example is for those who are not familiar with Ruby operator overloading.) - - - - I have stolen the example immediately below from http://strugglingwithruby.blogspot.com/2010/04/operator-overloading.html class Tester3 def initialize ary @ary = ary end def [](y) @ary[y] end def []=(y, value) @ary[y] = value end def <<(y) @ary << y end def +(y) @ary << y end end focusing on def []=(y, value) @ary[y] = value end - - - - - My question is a documentation one: Where in the Ruby docs would I find the semantics of the subscript method []= defined? That is, how would I come to know that x.[]=(2, 'Tuesday') is equivalent to x[2]='Tuesday'