[英]How to sort an array of floats in Ruby?
只是想知道如何在Ruby中對浮點數組進行排序,因為“排序”和“排序!” 僅適用於整數數組。
浮動數組當然可以分類:
>> [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
,這是不可能與Float比較...在這種情況下你應該嘗試
[2.3,nil,1].compact.sort
# => [1,2.3]
那個或者1.0/0
的相同錯誤會產生無窮大(但這個錯誤是由紅寶石檢測到的)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.