首页 > 其他 > 详细

Ruby 常量作用域

时间:2015-07-19 13:23:23      阅读:139      评论:0      收藏:0      [点我收藏+]

特殊情况『1』

内部类不会自动引用其外部类的父类

# Info = "顶层info"

class Father
  Info = "父类Info"
  # puts Info
end

class Son < Father
  # Info = "子类Info"
  # puts Info

  class Inner
    # Info = "内部类Info"
    puts Info
  end
end
# puts Info
报错信息:
in `<class:Inner>‘: uninitialized constant Son::Inner::Info (NameError)

特殊情况『2』

对于内部类有继承其他类,优先使用外部类的资源。

Info = "Top Info"
class First
  Info = "First Info"
end

class Second
  Info = "Second Info"

  class Inner < First
    puts Info
  end
end
output:
Second Info

优先级关系

内部类自己 > 外部类 > 内部类的父类 > 外部类的父类 > 顶层

版权声明:本文为博主原创文章,未经博主允许不得转载。

Ruby 常量作用域

原文:http://blog.csdn.net/u010713545/article/details/46954173

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!