【发布时间】:2018-03-09 17:08:39
【问题描述】:
所以我对 Ruby 和一般编码还很陌生,最近发现了 tap 以及它如何解决我的一些三明治代码。所以我尝试使用tap 来清理下面的方法。当我看到我的代码时,我意识到第一个示例看起来更干净,但在弄清楚为什么第二个示例确实返回原始对象数组时仍然会得到一些帮助。
def sort_arr
my_var = my_arr.sort_by { |obj| obj.price['usd'] }
my_var.reverse
end
这有效并根据价格方法的值返回我的对象的排序数组。我以为我可以用 tap 做到这一点,但它返回了原始数组
def sort_arr
my_arr.sort_by { |obj| obj.price['usd'] }.tap do |my_obj|
my_obj.reverse
end
end
【问题讨论】:
标签: ruby sorting object methods