def result_p3(high, low)
arr_ind = []
((1..31).each { |n| arr_ind << n })
(0..30).each do |i|
puts " #{arr_ind[i]}" + " #{'+' * high[i].to_i} ".red + "#{high[i].to_i}C "
puts " #{arr_ind[i]}" + " #{'+' * low[i].to_i} ".blue + "#{low[i].to_i}C "
end
end
RuboCop非常清楚问题是什么:你的方法太大了。您可以:
- 重构你的代码,使其符合你团队的编码标准,这是推荐的方法;
- 更新你的todo文件,这样你就不会看到错误,直到你准备好修复它;或
- 为这个方法禁用cop,如果你不明白为什么RuboCop告诉你你的代码不理想,你绝对不应该这样做。
RuboCop是一个过滤器和样式指南。它并不总是正确的,但在这种情况下是正确的。你的方法需要重构,所以要么这样做,要么推迟修复它,但一定要把它当作代码气味来对待。
arr_ind
是冗余的,其中包含1 ~ 31的数字。对于任意值的x
,arr_ind[x] == x + 1
。而不是#{arr_ind[i]}
,你可以只用#{i + 1}
。当然,删除所有与arr_ind
相关的内容。