>>>>> "T" == Tom Sawyer <transami / transami.net> writes:

T> then i have to ask: why do we have []=? 

 Some objects are special because they act *like* a container where you can
 store other objects.

 For these strange objects (like Array) you can define a method to store an
 object ("set") and a method to retrieve it ("get"), then you can work with
 these objects

   a = Array.new
   a.set(0, 12)
   a.get(0)

 Now that you have these 2 methods you can try to find nicer name like,
 for example,  "[]" for "get",  and "[]=" for "set" this give

   a = Array.new
   a.[]=(0, 12)
   a.[](0)

 and to make it more nicer, you just make this equivalent to

   a = Array.new
   a[0] = 12
   a[0]


Guy Decoux