Ruby for Rails 最佳实践Ⅶ
来源:互联网 发布:如何使用万德数据库 编辑:程序博客网 时间:2024/06/03 19:24
第七章 默认对象(self)和作用域
一、理解当前对象或默认对象 self
1. 在不同上下文中判定 self
puts "Tol Level"
puts "self is #{self}" #输出 main
class C
end
2. 在类和模块定义中的 self
class C
end
3. 单例方法定义和类方法定义中的 self
(1)在执行单例方法时,self 是拥有该方法的对象
obj = Object.new
def obj.show_me
end
obj.show_me
print "And inspecting obj from outside, "
puts "to be sure it's the same object:"
p obj
输出结果
I'm an object; here's self inside a singleton method of mine:
#<Object:0x2c02dec>
And inspecting obj from outside, to be sure it's the same object:
#<Object:0x2c02dec>
(2)类方法中的 self 就是类本身,因此
class C
end
等同于
class C
end
二、确定作用域
1. 全局变量具有全局作用域,全局变量通过变量名前加美元符号($)来识别
$gvar = "I'm a global!"
class C
end
C.new.examine_global
2. Ruby 内建全局变量
(1)$0 包含了 Ruby 正在执行的文件的名字
(2)$: 包含了一些目录,在加载一个外部文件时,这些目录构成了 Ruby 搜索路径
(3)$$ 包含了 Ruby 进程的进程ID
3. 全局变量使用范例
class Work
3. 局部作用域
class C
4. 常量的作用域和解析
module M
end
puts M::C::D::N::X #输出 1
puts M::C::X #输出 2
5. 强制使用绝对常量路径(::)
class Violin
end
三、部署访问权限规则
1. 私有方法:Ruby 通过禁止对私有方法使用显式的接收者来获得私有特性,在所有可以省略接收者的场合,调用私有方法是没问题的
class C
end
2. 保护方法:只要默认对象(self)和你想调用的方法所属的对象是同一类的实例,你就可以调用该保护方法
class C
end
c1 = C.new(100)
c2 = C.new(101)
c1.compare(c2)
3. 公有方法:默认的访问级别
四、编写和使用顶层方法
1. 预定义的(内建的)顶层方法:如 puts 和 print 都是 Kernel 内建的私有实例方法。
2. 查看所有内建私有实例方法:puts Kernel.private_instance_methods.sort
- Ruby for Rails 最佳实践Ⅶ
- Ruby for Rails 最佳实践Ⅰ
- Ruby for Rails 最佳实践Ⅱ
- Ruby for Rails 最佳实践Ⅲ
- Ruby for Rails 最佳实践Ⅳ
- Ruby for Rails 最佳实践Ⅴ
- Ruby for Rails 最佳实践Ⅵ
- Ruby for Rails 最佳实践Ⅷ
- Ruby for Rails 最佳实践Ⅸ
- Ruby for Rails 最佳实践Ⅹ
- Ruby for Rails 最佳实践Ⅺ
- Ruby for Rails 最佳实践Ⅻ
- Ruby for Rails 最佳实践ⅩⅢ
- Ruby for Rails 最佳实践ⅩⅣ
- Ruby for Rails 最佳实践ⅩⅤ
- Ruby for Rails 最佳实践ⅩⅥ
- Ruby for Rails 最佳实践Ⅰ
- Ruby for Rails 最佳实践Ⅱ
- 我的个人软件是怎样炼成的?(详细说明一个软件的理论框架)
- java 基础加强 黑马
- Ruby for Rails 最佳实践Ⅵ
- JAVA面试题(笔试改错题,附答案)
- ANSI与Unicode的转换
- Ruby for Rails 最佳实践Ⅶ
- 选择排序和冒泡排序小议
- Ruby for Rails 最佳实践Ⅷ
- sql server 2005/2008 设置 sql身份验证 和 sa空密码(像sql2000一样使用)(转载)
- Java面试的难题
- 即将上市的国行iphone4S具备Siri原生功能
- Ruby for Rails 最佳实践Ⅸ
- 配置系统未能初始化 错误的解决方案
- VC基本操作四十条