Rubyにはかなり新しく、一般的にコーディングして、最近tap
を発見し、サンドイッチコードのいくつかを解決する方法を知っています。だから、tap
を使用して私のメソッドをクリーンアップしようとしています。私のコードを見ると、最初の例はより洗練されているように見えますが、2番目の例がオブジェクトの元の配列を返す理由を理解する上で助けになります。sort_byとハッシュをタップ
def sort_arr
my_var = my_arr.sort_by { |obj| obj.price['usd'] }
my_var.reverse
end
これは、priceメソッドの値に基づいてオブジェクトをソートした配列を返して返します。私はtap
でこれを行うことができたと思ったが、それは、元のアレイ
def sort_arr
my_arr.sort_by { |obj| obj.price['usd'] }.tap do |my_obj|
my_obj.reverse
end
end
sort
を使用してコードを最適化することができます! – scarsamまた、['Array#reverse!'](https:// ruby)を変更することで、 'x.tap(&:reverse!)'(ここではbangに注意してください) -doc.org/core-2.2.0/Array.html#method-i-reverse-21)。/cc @scarsam – mudasobwa