Sort用於對陣列或可排序的集合進行排序
它可以按照預設的比較方法或使用自定義的比較函數進行排序
# 範例 1: 使用預設比較方法對數字陣列進行排序
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]
sorted_numbers = numbers.sort
puts sorted_numbers
# 輸出: [1, 1, 2, 3, 4, 5, 5, 6, 9]
第一個範例中,我們使用 sort 方法對一個數字陣列進行排序。該方法使用預設的比較方法,將數字從小到大排序。
# 範例 2: 使用預設比較方法對字串陣列進行排序
fruits = ["banana", "apple", "cherry", "date"]
sorted_fruits = fruits.sort
puts sorted_fruits
# 輸出: ["apple", "banana", "cherry", "date"]
第二個範例中,我們使用 sort 方法對一個字串陣列進行排序。同樣地,該方法使用預設的比較方法,按字母順序對字串進行排序。
# 範例 3: 使用自定義的比較函數對陣列進行排序
students = [
{ name: "John", age: 25 },
{ name: "Jane", age: 22 },
{ name: "Tom", age: 28 }
]
sorted_students = students.sort { |a, b| a[:age] <=> b[:age] }
puts sorted_students
# 輸出: [
# {:name=>"Jane", :age=>22},
# {:name=>"John", :age=>25},
# {:name=>"Tom", :age=>28}
# ]
第三個範例中,我們使用 sort 方法和自定義的比較函數對一個陣列進行排序。比較函數 {|a, b| a[:age] <=> b[:age]} 用於根據學生的年齡對學生物件進行比較,並按年齡從小到大排序學生陣列。