如何將數組中的值與Ruby中的值進行比較?我想比較數組中的值來檢查數組的最大值。比較數組中的內容
Q
比較數組中的內容
1
A
回答
5
你想找到最大值?它已經完成了。 (包括可枚舉模塊或任何東西)
[1, 5, 3].max # => 5
1
紅寶石陣列具有max
method:
a = [20, 30, 100, 2, 3]
a.max # => 100
如果你想寫自己的教育目的,你可以迭代這個數組,同時保持最大在每個點看到值:
class Array
def my_max
max = nil # Default "max" to nil, since we haven't seen any values yet.
self.each { |x| max = x if (!x || x>max) } # Update with bigger value(s).
max # Return the max value discovered.
end
end
或者,如果你有興趣在函數式編程考慮使用Enumerable reduce
method,其中g eneralizes在my_max
版本的過程,並使用ternary operator爲簡潔:
class Array
def my_max2
self.reduce(nil) { |max,x| (!max || x>max) ? x : max }
end
end
0
,你可以簡單地調用max
a = [1,2,3,4]
a.max # outputs 4
也爲最低值,你可以做
a.min # outputs 1
1
如果你是比較整數,然後
[1,3,2].max will do the work
,如果你是比較存儲在字符串格式整數,嘗試:
["1","3","2"].map(&:to_i).max
這將如果你要你的字符串數組轉換成int數組第一,並應用最大方法
經常使用這種比較,我建議你以int格式存儲實際的數組,所以它實際上爲你節省了一些工作時間。
相關問題
- 1. C編程。比較數組的內容。
- 2. 比較2個數組的內容
- 3. 比較字符串數組內容與內容的EditText
- 4. 比較表中的內容
- 5. 比較表中的內容
- 6. 比較兩個數組的內容在Javascript中的BDD風格
- 7. 如何在java中比較64字節數組的內容?
- 8. 如何比較C或C++數組中的內容
- 9. 如何比較jQuery中兩個數組的內容?
- 10. 比較ruby中的2個數組內容
- 11. 比較C中兩個char數組的內容
- 12. 按內容比較一大組圖像
- 13. 比較數組內部的數字
- 14. 如何比較兩個數組的內容?
- 15. 比較2個數組列表的內容
- 16. 比較字符串數組元素的內容與名稱
- 17. 如何比較Ruby數組和哈希的內容?
- 18. 使用循環比較三個數組/ json的內容php
- 19. 比較兩個數組的內容相似
- 20. 比較Unix中兩個csv的內容
- 21. 比較Python中的文件內容
- 22. Java地圖內容比較
- 23. 比較頁面內容
- 24. 比較文件內容
- 25. 數據庫表內容比較
- 26. 比較PostgreSQL中的數組
- 27. 比較數組中的PHP
- 28. 比較數組中的人
- 29. Powershell中的數組比較
- 30. 比較數組中的值
你的'my_max'實現對新手來說太火箭科學了,恐怕。我會把它寫成更長的形式並添加評論。 –
@SergioTulentsev:是的,好點。除了火箭科學之外,我還添加了一個簡單明瞭的註釋版本! =) – maerics