1

我很确定我可以在我的类中实现一些方法来使这样的查找成为可能:

foo = MyClass.new
foo["bar"] = 123

但它们是什么?

4

1 回答 1

3

您始终可以定义自己的[]方法[]=(谷歌:“运算符重载”),例如:

class MyClass
  def [](key)
    # ...
  end

  def []=(key, value)
    # ... 
  end
end

这里有些例子:

http://net.tutsplus.com/tutorials/ruby/ruby-for-newbies-operators-and-their-methods/

https://www.ruby-forum.com/topic/4067570

如何覆盖红宝石中的[]括号?

于 2013-09-29T17:10:32.697 回答