可以在ruby中扩展Array的方法吗?

时间:2011-11-14 04:06:40

标签: ruby arrays

我有一系列例如class Result,我想加入结果的名称而不是带有','的结果,如下所示:

@results=[result1, result2...]
results.join(", ") do |r|
   r.name
end

results.join方法应该是Array的extensino方法,我希望它可用于我程序中的所有数组。

可能的?

1 个答案:

答案 0 :(得分:2)

是的,这是可能的。

class Array
  def join_names
    collect(&:name).join(", ")
  end
end

但这使得代码更有可能与其他向Array类添加方法的库发生命名空间冲突。