我正在研究以下红宝石Koan:

class Dog7
  attr_reader :name

  def initialize(initial_name)
    @name = initial_name
  end

  def get_self
    self
  end

  def to_s
    __
  end

  def inspect
    "<Dog named '#{name}'>"
  end
end

def test_inside_a_method_self_refers_to_the_containing_object
  fido = Dog7.new("Fido")

  fidos_self = fido.get_self
  assert_equal "<Dog named 'Fido'>", fidos_self
end

def test_to_s_provides_a_string_version_of_the_object
  fido = Dog7.new("Fido")
  assert_equal __, fido.to_s
end

第一个断言的前半部分是我要填写的。此代码给出错误:
<"<Dog named 'Fido'>"> expected but was  <<Dog named 'Fido'>>.

问题是,我一直纠结于如何匹配返回值。在我看来,它像一个字符串文字返回值,但我不知道如何表达它而不使用引号和/或反斜杠。我所做的一切似乎都不管用。
帮助?

最佳答案

我又看了一会儿,才知道他们上这节课的目的地。将第一个assert更改为“assert_equal fido,fidos_self”使测试通过。我被错误抛出,给出的输出与inspect方法相同,没有引号。谢谢你帮我解决这个问题。

10-04 22:54