gpt4 book ai didi

ruby - 我应该实现什么才能使自定义类的行为与数组完全一样?

转载 作者:数据小太阳 更新时间:2023-10-29 07:44:29 24 4
gpt4 key购买 nike

假设我有一个自定义类,我应该覆盖什么以获得类似数组的行为?我认为提供 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com