Arrays 在Ruby中如何使用sort_by,通过接近一个数字?
我正在尝试编写一个方法,该方法将按接近10的顺序对数字数组进行排序:Arrays 在Ruby中如何使用sort_by,通过接近一个数字?,arrays,ruby,sorting,Arrays,Ruby,Sorting,我正在尝试编写一个方法,该方法将按接近10的顺序对数字数组进行排序: def test_sort_by_proximity_to_ten prices = [3.02, 9.91, 17.9, 10.01, 11.0] sorted = prices.sort_by do |p| # Not sure how to so
def test_sort_by_proximity_to_ten
prices = [3.02, 9.91, 17.9, 10.01, 11.0]
sorted = prices.sort_by do |p|
# Not sure how to sort by proximity here
end
assert_equal [10.01, 9.91, 11.0, 3.02, 17.9], sorted
end
我在想也许我可以使用某种射程,但我的尝试远远不够
有什么建议吗?谢谢,这帮助我实现了我想要做的。谢谢,这帮助我实现了我想要做的。
prices.sort_by { |price| (10 - price).abs }