红宝石中的惯用对象创建
发布时间:2020-12-16 20:13:29 所属栏目:百科 来源:网络整理
导读:在红宝石中,我经常发现自己在写: class Foo def initialize(bar,baz) @bar = bar @baz = baz end more stuff end 甚至 class Foo attr_accessor :bar,:baz def initialize(bar,baz) @bar = bar @baz = baz end more stuff end 我总是很想尽可能地最小化样板
在红宝石中,我经常发现自己在写:
class Foo def initialize(bar,baz) @bar = bar @baz = baz end << more stuff >> end 甚至 class Foo attr_accessor :bar,:baz def initialize(bar,baz) @bar = bar @baz = baz end << more stuff >> end 我总是很想尽可能地最小化样板,所以有更多的惯用的方法来创建红宝石的对象? 解决方法
一个选项是可以从Struct继承您的类定义:
class Foo < Struct.new(:bar,:baz) # << more stuff >> end f = Foo.new("bar value","baz value") f.bar #=> "bar value" f.baz #=> "baz value" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |