gpt4 book ai didi

Ruby - 动态地向类添加属性(在运行时)

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

<分区>

我正在寻找一种在运行时或更好的方式向我已定义的类添加属性的方法:

class Client
attr_accessor :login, :password
def initialize args = {}
self.login = args[:login]
self.password = args[:password]
end
end

但是,我有这个散列

{:swift_bic=>"XXXX", :account_name=>"XXXX", :id=>"123", :iban=>"XXXX"} 

我希望这个哈希成为我的客户端实例的一部分

client = Client.new :login => 'user', :password => 'xxxxx'

然后用神奇的魔法

client @@%$%PLIM!!! {:swift_bic=>"XXXX", :account_name=>"XXXX", :id=>"123", :iban=>"XXXX"} 

我将能够访问

client.swift_bic => 'XXXX'
client.account_name => 'XXXX'
client.id => 123

而且我还想维护一个适当的对象结构,例如:

Client.new(:login => 'user', :password => 'xxxxx').inspect
#<Client:0x1033c4818 @password='xxxxx', @login='user'>

魔法之后

client.inspect
#<Client:0x1033c4818 @password='xxxxx', @login='user', @swift_bic='XXXX', @account_name='XXXX' @id => '123', @iban => 'XXXX'>

之后会给我一个非常漂亮且格式良好的 json

有可能吗?

我从网络服务中获取这个哈希,所以我不知道那里是否有新属性,然后每次他们对其服务执行升级时我都必须更新我的应用程序。所以,我有点想避免这种情况:/

谢谢大家。

:)

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