是否可以分解采用隐式块的方法?

时间:2013-03-10 03:04:53

标签: ruby

我的最终用途是在rails中,我将一个实现each的对象分配给一个动作的response.body

每种方法都很长,我想分解它。但由于显性和显性之间的性能差异隐式块,我想隐藏块。

如何让分解的方法屈服于原始块?

1 个答案:

答案 0 :(得分:0)

实际上我在发布问题后意识到如何做到这一点。答案是使用带参数的块调用子方法并生成参数:

def each
  submethod1 {|out| yield out}
  submethod2 {|out| yield out}
  yield "whatever"
end

def submethod1
  yield "submethod1"
end

def submethod2
  yield "submethod2"
end