Ruby Koans: Где кавычки в этом возвращаемом значении?
Я работаю над следующим Ruby 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
Первая половина первого assert_equal - это то, что я пытаюсь заполнить. Этот код дает ошибку:
<"<Dog named 'Fido'>"> expected but was <<Dog named 'Fido'>>.
Проблема в том, что я зациклился на том, как сопоставить возвращаемое значение. Мне кажется, что это как строковое литераловое значение, но я не знаю, как выразить это без использования меток кавычек и/или обратных косых черт. Ничто из того, что я пытаюсь, похоже, работает.
Справка
Ответы
Ответ 1
Посмотрев на это некоторое время, я снова понял, куда они идут с уроком. Смена первого утверждения на "assert_equal fido, fidos_self" прошла тест. Я был брошен ошибкой, дающей тот же результат, что и метод проверки, без кавычек. Спасибо, что помогли мне в этом.
Ответ 2
<ы > Изменение test_inside_a_method_self_refers_to_the_containing_object
на следующие работы:
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.inspect # .inspect added.
end
Хорошо, было ли больше пробелов для заполнения? У меня есть ответ, но, похоже, вы уже заполнили пробел неправильно.