加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 21:42:27 所属栏目:百科 来源:网络整理
导读:class Parent def test return endendclass Child Parent def test super p "HOW IS THIS POSSIBLE?!" endendc = Child.newc.test 我虽然这样,由于Parent类的测试方法立即使用return语句,所以不可能打印Child类的行.但它确实印刷了.这是为什么? Ruby 1.8.7,
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,就像任何其他方法调用一样.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读