赞 | 273 |
VIP | 0 |
好人卡 | 3 |
积分 | 494 |
经验 | 40966 |
最后登录 | 2024-1-21 |
在线时间 | 1914 小时 |
Lv5.捕梦者
- 梦石
- 10
- 星屑
- 39440
- 在线时间
- 1914 小时
- 注册时间
- 2010-11-14
- 帖子
- 3315
|
冒号开头是符号字面量的生成方式
ruby中,符号(Symbol)是一种不可变(immutable)的对象
感性认识上可以将符号与字符串做对比,例如:main 与 "main"
由于符号的不可变以及相比常量来说用起来方便,在ruby中被大量用作重要内容的“标识”
例如,所有的方法在定义时,就同时保存了一份以方法名为内容的符号
正因如此,符号也可以用来象征同名的方法
在 alias :main_lsrs1 :main 这句中,就是为main起了一个别名main_lsrs1
相当于另外定义了一个方法叫main_lsrs1,做着和main一样的事
至于双冒号::,那是对类(模块)内容的访问操作符,可以类比点.
只不过,点无法访问类里的常量,因此规范上来说,调用类方法用.而读取类常量用::
例如一个类Window_Base,它的内部定义了一个常量WLH,而其他的类想要访问WLH的值
那就要用Window_Base::WLH来告诉解释器,让它到Window_Base里面去找WLH,因为只有那里才有
又假如有一个模块RPG,它的内部定义了一个类叫BaseItem,由于类名是一个常量,
因此在模块外要引用BaseItem就要写RPG::BaseItem,例如生成一个实例 bi = RPG::BaseItem.new
|
评分
-
查看全部评分
|