【问题标题】:refactor a ruby method重构一个 ruby​​ 方法
【发布时间】:2013-12-08 18:31:51
【问题描述】:

我似乎正在使用以下模式编写很多方法,并且似乎应该有更好的方法。有没有一种方法或更好的做法?

def combine_roster(roster)
  rstr = []
  roster.each do |r|
    rstr << r.user
  end
  rstr
end

【问题讨论】:

标签: ruby-on-rails ruby methods refactoring


【解决方案1】:

是的,您可以使用 map 命令。这是您正在尝试做的事情的简写版本:

roster.map(&:user) # if roster = [r1, r2, r3] then the output will be [r1.user, r2.user, r3.user]

您可以在 Ruby 数组 API 中阅读有关 map 函数的更多信息:http://ruby-doc.org/core-2.0.0/Array.html#method-i-map

【讨论】:

    猜你喜欢
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多