以下是我尝试在Ruby程序中实现的两种方法,用于传递传递给它的rspec。
它是更大的类词典
的一部分我已经为这个程序处理了大约12个其他规格,但是当它达到以下rspec时仍然会出错:不可否认,我可能遇到的部分问题是当我尝试过时运行这些,我不断收到错误,应该用"期待"重写"答案"我改写的方式可能不正确:
it 'can produce printable output like so: [keyword] "definition"' do
@d.add('zebra' => 'African land animal with stripes')
@d.add('fish' => 'aquatic animal')
@d.add('apple' => 'fruit')
expect(@d.printable).to eql(%Q{[apple] "fruit"\n[fish] "aquatic animal"\n[zebra] "African land animal with stripes"})
class Dictionary
# TODO: your code goes here!
attr_accessor :word, :define, :words
def initialize
@d = Hash.new(0)
end
def entries
@d
end
def keywords
@d.keys.sort
end
def printable
opts_sorted = @d.sort_by { |word, defin| word}
opts_sorted.map{ |word, defin| "[#{word}] \"#{defin}\"\n" }.join
end
端
当我尝试它时屏幕上的输出似乎是正确的,但我不断收到以下错误 1)字典可以产生如下的可打印输出:[keyword]" value"每一个都在新的一行
失败/错误:****来自上面的rspec的期望行 NoMethodError: 未定义的方法"可打印" for#(字典:(某些数字) .spec / 11_dictionary_spec.rb:81 in' block(2个级别)in
如果可以提供帮助,请提前致谢