假设我有一个自定义类,我应该覆盖什么以获得类似数组的行为?我认为提供 each
方法是不够的,因为这不会让我访问 []
方法?
我应该继承 Array 类吗?我应该在那里覆盖什么?
最佳答案
对于类似可枚举的行为(这听起来像你想要的),你应该include Enumerable
来获得Enumerable
模块的功能,这意味着你需要提供一个方法每个
。这将为您提供许多您想要的相关方法 ( Enumerable details )。
如果您只需要 []
之类的功能,您只需要以下方法,仅此而已:
def [] key
# return value for key here.
end
def []= key, value
# store value under key here.
end
关于ruby - 我应该实现什么才能使自定义类的行为与数组完全一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6239880/