Arrays 在Ruby中如何使用sort_by,通过接近一个数字?

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

我正在尝试编写一个方法,该方法将按接近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 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 }