访问元素?

时间:2012-04-21 02:26:32

标签: ruby

我定义了自己的方法来访问元素:

class Array2
  def [](key)
    if key.kind_of?(Integer)
      @elements[key]
    else
      # ...
    end
  end
end

如果我之前已将@elements声明为Array.new,则两项操作均为:

list = Array2.new
# ...
puts list[0]
puts list.[](0)

正常工作。为什么第一次操作可以接受?

1 个答案:

答案 0 :(得分:3)

list[0]list.[](0)语法都意味着完全相同的事情。他们使用[]对象上的参数0调用list方法。