【问题标题】:How can I refactor this ruby code more?我怎样才能更多地重构这个 ruby​​ 代码?
【发布时间】:2015-09-10 09:23:32
【问题描述】:

我正在尝试对这段代码进行反应。有什么建议吗?

@contest_users = [] 
@contest.squads.each do |squad|
  @contest_users << squad.users[0]
end 

【问题讨论】:

    标签: ruby refactoring


    【解决方案1】:

    使用map 代替each

    @contest_users = @contest.squads.map { |squad| squad.users.first }
    

    【讨论】:

    • @AndreyDeineko 您的代码将返回第一个squad 的第一个user,但这里我们需要每个squad 中的第一个users 数组。
    【解决方案2】:
    @contest_users = @contest.squads.each_with_object([]) do |squad, array|
      array << squad.users[0]
    end
    

    【讨论】:

      猜你喜欢
      • 2021-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多