我是一个初学者努力学习Ruby和我写的代码如下问题陈述: - 创建一个词典,其最初是空的。 - 向它添加条目..这个词应该是关键,意思应该是价值。 - 增加整个项目与关键字和定义(添加一个字的时候,就应该检查它是否已经存在) - 添加关键字没有定义(在这种情况下设置的定义是nil) - 可以检查一个给定的关键字是否存在 - 发现一个关键词条目并返回关键字+高清 - 从前缀查找到多个匹配,并返回整个条目(关键字+高清) - 也就是说,如果我们搜索“网络连接”,那么它应该返回与“网络连接”开头的所有条目 - 名单按字母顺序排列的关键字添加独特的键值散列和创建字典出它
到目前为止,我已经写了下面的代码,但是当我加入关键字和值,它是存储只添加了最后一个值。在以下情况下,输出为“@word_list = {”great“=>”卓越“}>”。第一组数值丢失了。
我不知道如何解决这个问题。任何帮助将是伟大的。提前感谢!
class Dictionary
def word_list
@word_list = Hash.new
end
def add new_entry
case new_entry
when Hash
word_list.merge!(new_entry)
when String
word_list[new_entry] = nil
end
end
d1 = Dictionary.new
d1.add ({"fish" => "aquatic animal", "fiend" => "bad person"})
d1.add ({"great" => "remarkable"})
puts d1.inspect