在 Ruby 中,你可以使用 sort_by
方法對哈希的鍵或值進(jìn)行排序。以下是如何根據(jù)鍵和值對哈希進(jìn)行排序的示例:
# 創(chuàng)建一個(gè)哈希
hash = {
"apple" => 3,
"banana" => 1,
"orange" => 2
}
# 根據(jù)鍵對哈希進(jìn)行排序
sorted_by_key = hash.sort_by { |key, _value| key }
puts "Sorted by key: #{sorted_by_key.inspect}"
# 輸出:Sorted by key: [["apple", 3], ["banana", 1], ["orange", 2]]
# 根據(jù)值對哈希進(jìn)行排序
sorted_by_value = hash.sort_by { |_key, value| value }
puts "Sorted by value: #{sorted_by_value.inspect}"
# 輸出:Sorted by value: [["banana", 1], ["orange", 2], ["apple", 3]]
在這個(gè)示例中,我們首先創(chuàng)建了一個(gè)包含水果名稱及其對應(yīng)數(shù)量的字典。然后,我們使用 sort_by
方法對字典的鍵和值進(jìn)行排序。sort_by
方法接受一個(gè)塊,該塊定義了排序的依據(jù)。在這種情況下,我們根據(jù)鍵對哈希進(jìn)行排序,然后根據(jù)值對哈希進(jìn)行排序。最后,我們打印出排序后的哈希。