我开始在 Test-First 上解决一些示例问题,并制定了一个使用 Ruby 1.8.7 通过所有 RSpec 测试的解决方案。我刚刚升级了我的操作系统,Ruby 也升级了;我的代码不再通过 RSpec 测试。谁能帮我理解为什么这不再起作用了?
我的代码
def entries
@d
end
错误信息
失败:
1)字典可以添加带有关键字和定义的整个条目
Failure/Error: @d.entries.should == {'fish' => 'aquatic animal'}
expected: {"fish"=>"aquatic animal"}
got: {["fish"]=>["aquatic animal"]} (using ==)
差异:
@@ -1,2 +1,2 @@
-"fish" => "aquatic animal"
+["fish"] => ["aquatic animal"]
#
我不知道要对格式进行什么更改。(其中一个 RSpec 测试是 @d 在创建时必须为空,所以当我尝试通过显式格式化来修改 @d 时它也会失败,但我想这里有一个简单的类型问题我不是理解。)
更新:更多代码
class Dictionary
def initialize d = {}
@d = d
end
def entries
@d
end
def keywords
@d.keys.sort
end
def add words
n_key = words.keys
n_val = words.values
@d[n_key] = n_val
end
end