我有一個哈希看起來像這樣不能得到正確的格式
products = {199 =>['Shoes', 59.99], 211 =>['Shirts', 19.99], 245 =>['Hats', 25.99], 689 => ['Coats', 99.99], 712 => ['Beanies', 6.99]}
產品=項目數=> [產品價格]
我的目標是打印出來的最高和最低價格在散列。到目前爲止,我得到的是這樣的:
products = {199 =>['Shoes', 59.99], 211 =>['Shirts', 19.99], 245 =>['Hats', 25.99], 689 =>['Coats', 99.99], 712 => ['Beanies', 6.99]}
max_value = products.max_by { |key, value| value[1] }.to_s
print max_value
min_value = products.min_by { |key, value| value[1] }.to_s
print min_value
當我打印它看起來像這樣。
["689", ["Coats", 99.99]]
["712", ["Beanies", 6.99]]
我想它看起來像這樣
Item# 689: Coats, 99.99
Item# 712: Beanies, 6.99
沒有人對我有什麼祕訣嗎?
感謝您的幫助,我找到了答案。非常感謝。這給了我正在尋找的東西。
min_value = products.min_by { |value| value[1] }
puts "Item# #{min_value[0]}: #{min_value[1][0]}, #{min_value[1][1]}"
max_value = products.max_by { |value| value[1] }
puts "Item# #{max_value[0]}: #{max_value[1][0]}, #{max_value[1][1]}"
OOPS,沒關係。正確的代碼是這個
min_value = products.min_by { |key, value| value[1] }
puts "Item# #{min_value[0]}: #{min_value[1][0]}, $#{min_value[1][1]}"
max_value = products.max_by { |key, value| value[1] }
puts "Item# #{max_value[0]}: #{max_value[1][0]}, $#{max_value[1][1]}"
您如何預計它會發現這是您想要打印的內容?你告訴它打印一個數組,所以這就是它的作用。沒有關於「Item#」的任何內容,等等。只需將你想要的值從你得到的數組中拉出來並單獨打印出來。 – 2012-02-26 23:48:51
您可以通過點擊答案投票計數下的複選框來接受堆棧溢出的答案。這可以讓人們知道答案就是你正在尋找的東西,而且他們不會重複答案。 – Linuxios 2012-02-27 02:33:56