有没有Ruby方法来删除初始化器中的样板代码?
发布时间:2020-12-16 21:02:57 所属栏目:百科 来源:网络整理
导读:我写了很多初始化代码,将attrs设置为参数,类似于: class SiteClient attr_reader :login,:password,:domain def initialize(login,password,domain='somedefaultsite.com') @login = login @password = password @domain = domain end end 有没有更多的Ruby
我写了很多初始化代码,将attrs设置为参数,类似于:
class SiteClient attr_reader :login,:password,:domain def initialize(login,password,domain='somedefaultsite.com') @login = login @password = password @domain = domain end end 有没有更多的Ruby方式这样做?我觉得我一遍又一遍地编写相同的样板设置代码. 解决方法
你可以使用Ruby
Struct :
class MyClass < Struct.new(:login,:domain) end 或者你可以尝试一些宝石,即Virtus: class MyClass include Virtus.model attribute :login,String attribute :password,String attribute :domain,String end 然后(在两种情况下): MyClass.new(login: 'a',password: 'b',domain: 'c') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |