簡體   English   中英

學習 Ruby 中的哈希

[英]Learning about hashes in Ruby

我現在正試圖弄清楚如何只打印散列中的鍵。 我對此還是個新手,我缺少有關如何打印密鑰的信息。 到目前為止我的代碼:

shopping_list = {
    'milk' => false,
    'eggs' => false,
    'jalapenos' => true
}

puts "Here is your shopping list!"
shopping_list.each do |key|
    puts "- #{key}"
end

我的輸出:

Here is your shopping list!
- ["milk", false]
- ["eggs", false]
- ["jalapenos", true]

我只想重視打印出來,如:

Here is your shopping list!
- milk
- eggs

最后,我想省略真正的購物項目,在這種情況下,它已經被購買了。 我想先打印出我還需要購買的東西。

你可以通過組合#reject#keys#each方法來獲得你想要的值,如下所示:

shopping_list.reject { |key, value| value }.keys.each do |key|
  puts "- #{key}"
end

正如 Cary Swoveland 所提到的,上面的代碼是創建了臨時數組。 如果你不想創建這些,你可以使用下面的代碼:

shopping_list.each do |key, value|
  puts "- #{key}" if value == false
end

弄清楚了。

shopping_list = {
    'milk' => false,
    'eggs' => false,
    'jalapenos' => true
}

puts "Here is your shopping list!"
for key in shopping_list.keys()
    puts "- #{key}"
end

我的輸出。

Here is your shopping list!
- milk
- eggs
- jalapenos

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM