是否有任何方法可以检查哈希是否包含特定值?我试过这样的事:
words = {}
puts "Which word do you want to learn to Baby?"
wordsvariable = gets.chomp
if action == "1" && words.include?(wordsvariable)
puts "This word is already learned by the Baby, try again."
elsif action == "1" && !words.include?(wordsvariable)
words[Time.now] = wordsvariable
puts "Congrats you have learn word: #{wordsvariable} to Baby."
end
如果这个词已经被宝宝学会了(也就是说这个词已经在哈希中),我不想让宝宝学习它。否则,我让宝宝学习它。
有人能帮助我吗?
答案 0 :(得分:0)
要测试是否存在具有给定值的键,您可以在哈希上使用key
方法:
words.key(wordsvariable)
如果返回值,则wordsvariable
位于哈希值中。
您将这些单词存储在散列中,并将时间作为键来存储:
{
2018-04-05 01:15:32 +0200=>"foo",
2018-04-05 01:15:32 +0200=>"bar"
}
存储单词和时间的更自然的方式可能是使键和值与现在的方式相反。
您可以使用words[Time.now] = wordsvariable
words[wordsvariable] = Time.now
然后使用:
words[wordsvariable]
测试那里是否有值。