Ruby – 动态添加属性到类(在运行时)
发布时间:2020-12-16 22:33:51 所属栏目:百科 来源:网络整理
导读:这个问题在这里已经有一个答案: adding attributes to a Ruby object dynamically5个 我正在寻找一种在运行时向已经定义的类添加属性的方法,或者更好: class Client attr_accessor :login,:password def initialize args = {} self.login = args[:login] s
这个问题在这里已经有一个答案:>
adding attributes to a Ruby object dynamically5个
我正在寻找一种在运行时向已经定义的类添加属性的方法,或者更好: 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",: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之后 有可能吗 我从一个webservice得到这个哈希,所以我不知道这里是一个新的属性,然后我将不得不更新我的应用程序,每次他们执行他们的服务升级. 感谢chaps.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |