赞 | 13 |
VIP | 118 |
好人卡 | 28 |
积分 | 11 |
经验 | 35779 |
最后登录 | 2017-7-6 |
在线时间 | 1564 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1115
- 在线时间
- 1564 小时
- 注册时间
- 2008-7-30
- 帖子
- 4418
|
5楼
楼主 |
发表于 2010-8-27 08:43:26
|
只看该作者
有关方法名的一些俗成约定
本帖最后由 DeathKing 于 2010-8-29 07:19 编辑
2010-08-28
昨天进行过一次讨论:http://rpg.blue/thread-154899-1-1.html
既然抢到了今天的帖子,那么就借花献佛。
Ruby中的方法名有一定的俗成的约定,下面列出了这些约定,不过,这不是强制性必须遵守的!
以 = 号结尾的方法通常是setter,会为同名实变量设定值;
以 ? 号结尾的方法返回的是一个所谓的布林值,也就是true或者false;
以 ! 号结尾的方法表示该方法具有破坏性,所以要小心操作。
一些例子:
- 由元编程方法 attr_writer :method 或 attr_accessor :method 建立的 method= 方法就会为 @method 实变量赋值;
- 由 Object 类提供的 is_a? 方法返回 true 或者false ,来判断对象是否是一个类的实例,如: 1.is_a? Fixnum #=> true ;
- 由String 类提供的gsub! 方法比较常见(Window_Message 大多用这个方法处理),它就具有破坏性,直接在源对象上操作;
关于破坏性与非破坏性的比较:
- ary = [1,3,5,7,9,2,4,6,8,10]
- ary.sort #=> [1,2,3,4,5,6,7,8,9,10]
- p ary #=> [1,3,5,7,9,2,4,6,8,10]
- ary.sort! #=> [1,2,3,4,5,6,7,8,9,10]
- p ary #=> [1,2,3,4,5,6,7,8,9,10]
复制代码 |
|