我想知道如何在 Ruby 中对浮点数数组进行排序,因为"sort"和"sort!"只适用于整数数组。
我想知道如何在 Ruby 中对浮点数数组进行排序,因为"sort"和"sort!"只适用于整数数组。
浮点数数组当然可以进行排序:
>> [6.2, 5.8, 1.1, 4.9, 13.4].sort
=> [1.1, 4.9, 5.8, 6.2, 13.4]
nil
,这个值无法与任何东西排序。您可以轻松地对浮点数数组进行排序,例如:
irb(main):005:0> b = [2.0, 3.0, 1.0, 4.0]
=> [2.0, 3.0, 1.0, 4.0]
irb(main):006:0> b.sort
=> [1.0, 2.0, 3.0, 4.0]
[1.0 , 3.0, 0/0, ...]
当你使用0/0
时,会得到一个NaN
,这是无法与浮点数进行比较的...在这种情况下,你应该尝试
[2.3,nil,1].compact.sort
# => [1,2.3]
可能是由于 1.0/0
而出现的无穷大错误(但 Ruby 可以检测到此类错误)。