关于ruby中的循环和隐式返回

时间:2015-06-09 09:33:15

标签: ruby

我正在阅读redmine的代码。代码的一部分是:

def funcA(projects)
  funcB(projects) do |project| #(1)
    s = funcC(...) #parameter masked
    s
  end
end

并且funcB的定义是:

def funcB(projects, &block)
  #do something
end

假设变量projects是一个大小为2的数组,

  1. 环路(1)的作用是什么?
  2. funcA将返回什么?

1 个答案:

答案 0 :(得分:4)

  

循环到底是什么*(1)呢?

这不是一个循环(至少不是标准的ruby循环)。它只是传递给funcB的一个块。与Enumerable#each相同。

  

funcA将返回什么?

无论funcB返回什么。