Ruby的输出值

时间:2013-06-26 18:01:39

标签: ruby-on-rails ruby methods console

我可能错过了一些非常明显的东西。我有以下Ruby方法:

def pair_array

  return self.pair.each_slice(2) {
    |x| puts x.join(" & ")
  }.to_s
end

当我尝试通过调用@ team.pair_array在我的Rails视图中显示此方法的值时,不会显示任何内容,但会在控制台上打印正确的值。我知道这可能是因为我正在使用看跌期权。如何在我的视图中显示此方法的结果?

1 个答案:

答案 0 :(得分:5)

您将打印与返回值混淆。 puts返回nil,each_slice无法返回块的结果。你想要的是这个:

def pair_array
  pair.each_slice(2).map {|arr| arr.join ' & '}
end