gpt4 book ai didi

Ruby:对象/类数组

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

我不是 ruby 专家,这给我带来了麻烦。但是我将如何在 ruby​​ 中创建一个对象/类数组?如何初始化/声明它?预先感谢您的帮助。

这是我的类(class),我想创建一个数组:

class DVD
attr_accessor :title, :category, :runTime, :year, :price

def initialize()
@title = title
@category = category
@runTime = runTime
@year = year
@price = price
end
end

最佳答案

Ruby 是鸭子类型的(动态类型)几乎一切都是对象,因此您可以将任何对象添加到数组中。例如:

[DVD.new, DVD.new]

将创建一个包含 2 张 DVD 的阵列。

a = []
a << DVD.new

会将 DVD 添加到阵列中。检查Ruby API for the full list of array functions .

顺便说一句,如果您想在 DVD 类中保留所有 DVD 实例的列表,您可以使用类变量来完成此操作,并在创建新的 DVD 对象时将其添加到该数组。

class DVD
@@array = Array.new
attr_accessor :title, :category, :runTime, :year, :price

def self.all_instances
@@array
end

def initialize()
@title = title
@category = category
@runTime = runTime
@year = year
@price = price
@@array << self
end
end

现在如果你这样做

DVD.new

您可以得到您目前创建的所有 DVD 的列表:

DVD.all_instances

关于Ruby:对象/类数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14532844/

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