微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ruby返回语句不能与超级关键字一起使用?

class Parent
  def test
    return
  end
end

class Child < Parent
  def test
    super
    p "HOW IS THIS POSSIBLE?!"
  end
end

c = Child.new
c.test

我虽然这样,由于Parent类的测试方法立即使用return语句,所以不可能打印Child类的行.但它确实印刷了.这是为什么?

Ruby 1.8.7,Mac OSX.

解决方法

超级行为就像调用超类的方法实现的方法调用.在您的示例中,返回关键字从Parent :: test返回,并继续执行Child :: test,就像任何其他方法调用一样.

原文地址:https://www.jb51.cc/ruby/267038.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐