Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Koans Quest 203(关于_类)-使用rake失败_Ruby - Fatal编程技术网

Ruby Koans Quest 203(关于_类)-使用rake失败

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(测试)方法(自我)指的是包含(测试)对象的(测试) 伤害了你的业力 大师说:你还没有开悟。我感觉到 挫败不要害怕寻求帮助 你寻求的答案。。。期望“填写

我在填充预期输出并调用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