码迷,mamicode.com
首页 > 其他好文 > 详细

Ruby 常量作用域

时间:2015-07-19 13:25:39      阅读:125      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!