Ruby Koans Quest 203(关于_类)-使用rake失败
我在填充预期输出并调用rake时遇到了这个问题。我的设置或代码是否有问题 Joseph MacBook Air:koans jj$rake /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/Ruby 路径_到_.rb AboutClasses#test(测试)inside(测试)方法(自我)指的是包含(测试)对象的(测试) 伤害了你的业力 大师说:你还没有开悟。我感觉到 挫败不要害怕寻求帮助 你寻求的答案。。。期望“填写我”等于 请思考以下代码:Ruby Koans Quest 203(关于_类)-使用rake失败,ruby,Ruby,我在填充预期输出并调用rake时遇到了这个问题。我的设置或代码是否有问题 Joseph MacBook Air:koans jj$rake /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/Ruby 路径_到_.rb AboutClasses#test(测试)inside(测试)方法(自我)指的是包含(测试)对象的(测试) 伤害了你的业力 大师说:你还没有开悟。我感觉到 挫败不要害怕寻求帮助 你寻求的答案。。。期望“填写
/Users/jj/Downloads/koans/about_classes.rb:162:in `test\u inside\u a\u method\u self\u指包含对象的\u 记住,沉默有时是迄今为止最好的答案 [………..X__________;]203/282 有关守则是:
class Dog7
attr_reader :name
def initialize(initial_name)
@name = initial_name
end
def get_self
self
end
def to_s
@name
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 __, fidos_self
end
7类
属性读取器:名称
def初始化(初始名称)
@名称=初始名称
结束
自我保护
自己
结束
def至美国
@名字
结束
def检查
""
结束
结束
def test_inside_a_method_self_指包含对象的_
fido=Dog7.新(“fido”)
fidos\u self=fido.get\u self
断言相等,等于自己
结束
我认为资产等于
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_inside_a_method_self_指包含对象的_
fido=Dog7.新(“fido”)
fidos\u self=fido.get\u self
坚持平等,坚持自我
结束
它爆炸了
/Library/Ruby/Site/2.0.0/rubygems/core\u ext/kernel\u require.rb:54:in
require':/Users/jtacuyan/Downloads/koans/about_classes.rb:162:
语法错误,意外的tIDENTIFIER,应为关键字_do或“{”或
“(”(语法错误)
坚持平等,坚持自我
^/Users/jj/Downloads/koans/about_classes.rb:162:语法错误,
意外的','
坚持平等,坚持自我
^来自/Library/Ruby/Site/2.0.0/rubygems/core\u ext/kernel\u require.rb:54:in
要求“从路径到路径”。rb:28:in”rake中止!
命令失败,状态为(1):
[/System/Library/Frameworks/Ruby.framework/…]
/用户/jj/Downloads/koans/Rakefile:10:in
block in'
任务:TOP=>default=>test(通过使用
--跟踪)
不过,我可以在irb上很好地执行它
irb(main):016:0> fido = Dog7.new("Fido")
=> <Dog named 'Fido'>
irb(main):017:0> fido
=> <Dog named 'Fido'>
irb(main):018:0> fido.name
=> "Fido"
irb(main):019:0> fido.get_self
=> <Dog named 'Fido'>
irb(main):020:0> fidos_self = fido.get_self
=> <Dog named 'Fido'>
irb(main):021:0> fidos_self
=> <Dog named 'Fido'>
irb(main):016:0>fido=Dog7.新(“fido”)
=>
irb(主):017:0>fido
=>
irb(主):018:0>fido.name
=>“Fido”
irb(主):019:0>fido.get_self
=>
irb(主):020:0>fido_self=fido.get_self
=>
irb(主要):021:0>fidos_self
=>
您忘记了断言代码中的“错误”
assert_equal "<Dog named 'Fido'>", fidos_self
这正是这个测试应该做的。错误是一个类型对象错误;第一个元素是字符串类型,第二个是Dog7类型。解决方法是适当地匹配这些类型 检查以下各项的返回值:
fidos_self.is_a?(String)
fidos_self.is_a?(Dog7)
fidos.is_a?(Dog7)
fidos_self
fidos
我也试过了,但没有成功。
你寻求的答案……期望”“相等,请思考以下代码:/Users/jj/Downloads/koans/about_classes.rb:162:in
test_inside_a_method_self_指的是包含对象的_
fidos_self.is_a?(String)
fidos_self.is_a?(Dog7)
fidos.is_a?(Dog7)
fidos_self
fidos