gpt4 book ai didi

ruby - 调用没有实例的方法

转载 作者:太空宇宙 更新时间:2023-11-03 18:11:03 24 4
gpt4 key购买 nike

我有以下代码:

class Cars
attr_accessor :car_make
attr_accessor :car_model
def initialize(make, model)
self.car_make = make
self.car_model = model
end
end

我想知道是否可以实现 list_cars 方法并像这样调用方法:

ford = Cars.new("Ford" ,"F-150")
honda = Cars.new("Honda", "CRV")
list_cars(ford, honda)

即,不必从现有对象调用它。我试过这个:

def list_cars(first_car, second_car)
puts "My father has two cars - a #{first_car.car_make} #{first_car.car_model} and a #{second_car.car_make} #{second_car.car_model}."
end

我意识到这段代码遗漏了一些东西,但我不知道那是什么。

最佳答案

让它成为一个类方法:

class Cars
def self.list_cars(first_car, second_car)
puts "My father has two cars - a #{first_car.car_make} #{first_car.car_model} and a #{second_car.car_make} #{second_car.car_model}."
end
end

然后你可以简单地调用它:

Cars.list_cars(car1, car2)

您可以找到有关类方法的更多信息 at rubymonk .

这是否是正确的方式(或新模块,或作为对象空间中的方法)取决于您的项目架构。

关于ruby - 调用没有实例的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34107192/

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