gpt4 book ai didi

ruby - 构造函数中许多 attr_reader 的简写

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

我发现自己在我的类中初始化了很多变量,我想知道是否有更简单的方法来做到这一点。一旦你获得超过 20 个变量,它就会变得有点多余。

class Car
attr_reader :make,
:model,
:year,
:id

def initialize(args)
@make = args["make"]
@model = args["model"]
@year = args["year"]
@id = args["id"]
end
end

谢谢!

最佳答案

你也可以这样做:

class Car
def initialize(args)
args.each do |key, value|
instance_variable_set("@#{key}", value)
end
end
end

car = Car.new({name: 'My car', make: 'BMW'})
p car #<Car:0x007fe80c8875d8 @name="My car", @make="BMW">

关于ruby - 构造函数中许多 attr_reader 的简写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32022437/

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