Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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 为什么'class<&书信电报;红宝石中的self';中断';遗产_Ruby - Fatal编程技术网

Ruby 为什么'class<&书信电报;红宝石中的self';中断';遗产

Ruby 为什么'class<&书信电报;红宝石中的self';中断';遗产,ruby,Ruby,假设我有: class Parent def foo "foo" end end class Child < Parent class << self end 没有给我“foo”。为什么不呢 上面的问题是在我试图弄清楚为什么类的某些代码在这里有语法错误时出现的。你永远不会关闭单身班。应该是: class Child < Parent class << self end end 类子类def foo irb(主

假设我有:

 class Parent
   def foo
     "foo"
   end
 end

 class Child < Parent
   class << self
 end
没有给我
“foo”
。为什么不呢



上面的问题是在我试图弄清楚为什么类的某些代码在这里有语法错误时出现的。你永远不会关闭单身班。应该是:

class Child < Parent
  class << self
  end
end
类子类<父类
类父类
irb(主):009:1>def foo
irb(主要):010:2>“foo”
irb(主):011:2>结束
irb(主):012:1>结束
=>:foo
irb(主):013:0>类子级<父级
irb(主):014:1>等级def foo
irb(主要):016:3>“食品类”
irb(主):017:3>结束
irb(主):018:2>结束
irb(主):019:1>结束
=>:foo
irb(主):020:0>c=Child.new
=> #
irb(主):021:0>c.foo
=>“foo”
irb(主):022:0>Child.foo
=>“类foo”

您缺少一个“结束”。从命令行运行此命令的类将导致
“t.rb:10:语法错误,输入意外结束,在到达
c=Child.new.foo
之前需要关键字\u end”
。如果在解析
的前三行之后在IRB(或PRY)中运行它,IRB会说“我在等待,我在等待”,而不是
=>nil
。这应该是有问题的提示。我想知道你为什么不能删除这个问题。如果您的编辑窗口打开,可能必须先关闭。它会显示,
对不起,此问题有答案,无法删除;改为标记它以引起版主的注意
我曾经能够删除我后悔发布的问题。。。一定有关于这个的元讨论。。。
class Child < Parent
  class << self
  end
end
irb(main):008:0> class Parent
irb(main):009:1>   def foo
irb(main):010:2>     "foo"
irb(main):011:2>   end
irb(main):012:1> end
=> :foo
irb(main):013:0> class Child < Parent
irb(main):014:1>   class << self
irb(main):015:2>     def foo
irb(main):016:3>       "class-foo"
irb(main):017:3>     end
irb(main):018:2>   end
irb(main):019:1> end
=> :foo
irb(main):020:0> c = Child.new
=> #<Child:0x000001021eae30>
irb(main):021:0> c.foo
=> "foo"
irb(main):022:0> Child.foo
=> "class-foo"
 class Child < Parent
   class << self
 end
 class Child < Parent
   class << self
   end
 end
class Parent
   def foo
     "foo"
   end
end

class Child < Parent
end
2.1.1 :010 > Child.new.foo
 => "foo"