当前位置:  开发笔记 > 编程语言 > 正文

使用块初始化对象

如何解决《使用块初始化对象》经验,为你挑选了1个好方法。



1> Stefan..:

当然,你可以yield从内部initialize,没有什么特别的:

class Foo
  attr_accessor :bar, :baz
  def initialize
    yield self
  end
end

Foo.new do |f|
  f.bar = 123
  f.baz = 456
end
#=> 

您还可以使用instance_eval以下方法在接收器的上下文中评估块:

class Foo
  attr_accessor :bar, :baz
  def initialize(&block)
    instance_eval(&block)
  end
end

Foo.new do
  @bar = 123
  @baz = 456
end
#=> #

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有