-1

我将自己的访问元素的方法定义为:

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

如果我之前声明@elementsArray.new,则这两个操作:

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

好好工作。为什么第一次手术可以接受?

4

1 回答 1

3

list[0]和语法list.[](0)的含义完全相同。他们使用对象上[]的参数调用该方法。0list

于 2012-04-21T02:31:41.447 回答