Thanks for your quick and prompt answer!
got it.

greetings,
Sun

"Robert Klemme" <shortcutter / googlemail.com> wrote in message 
news:9e3fd2c80801210246j2c4690d7i9f280cdb7ceef260 / mail.gmail.com...
> 2008/1/21, Sun <as / hut.at>:
>> I came cross a ruby class with function defined as:
>>
>> class A
>> ...other functions...
>>  def [](var1)
>>      ...
>>      ....
>>   end
>> end
>>
>> I do not know what this function is for and how to use it. any tips?
>
> It allows you to define the [] operator:
>
> irb(main):001:0> class Foo
> irb(main):002:1> def [](v) "foo<#{v}>" end
> irb(main):003:1> end
> => nil
> irb(main):004:0> Foo.new[123]
> => "foo<123>"
>
> Typically this is used for index based lookups (like Array and Hash
> do) but you are free to define your own semantic.  There is also the
> assignment operator []= which can be defined in a similar way (but
> with two arguments).
>
> Kind regards
>
> robert
>
>
> -- 
> use.inject do |as, often| as.you_can - without end
>