一步一步学Ruby(十二):Ruby类
一、类的定义、类的实例方法 二、特定对象的方法 在Ruby里,我们可以为一个对象单独定义方法 三、重定义方法 从下面代码可以看出,后面的定义会覆盖前面的定义 四、重新打开类 Ruby里我们可以再打开一个类,向这类添加方法,有点像C#里的分部类,但不用加特别标记. 我们一般不要拆开类的定义,因为那样不好理解,拆开类的一个原因是将它们分散到多个文件里。 五、实例变量 这个前面有说过,这里补充一下 实例变量主要是用来记录单个对象的状态。Ruby的实例变量有以下特点 以@开头 只对单个对象可见 不管在类的任何地方定义,在别的地方使用都是同一个 六、初始化对象状态 类似其它语言的构造函数 七、更好的属性读写,=号的威力 上面我们可以看到可以用多种方法对属性都写操作,但最熟悉和方便的,还是向其它语言一样,对属性直接赋值,然后读取 语法糖 语法糖就是指特别的规则,不符合常规的写法,Ruby提供了调用写方法的语法糖,当解释器看到age = 时,会忽略等号前面的空格,并且单参数的方法是可以省略括号,所以也可以这样 因为有了=的威力,我们可以在赋值时做自己的处理,有点像.net里的{get;set;} 八、自动生成属性的读写操作attr_* 如果每个简单的属性都像上面那样定义,是一件很繁琐的事情,还好Ruby提供了自动生成读写操作的方法,看下表 方法名
效果
例子
等价的代码 attr_reader
读方法
attr_reader :age
def age
@age
end attr_writer
写方法
attr_writer :price
def age= (age)
@age=age
end attr_accessor
产生读写方法
att_accessor :age
def age
@age
end
def age= (age)
@age=age
end attr
产生读方法和可选的写方法(如果第二个参数是true)
1. attr :age
2. attr :age, true
1. 参见attr_reader
2. 参见attr_accessor 九、类方法 类是特殊的对象,是唯一可以创建新对象的一类对象 定义是,在方法前加上类名 类方法有两种调用方式: Person.oldest() Person::oldest() 十、继承 Ruby里用 < 实现继承 本文作者: 王德水 未经同意,禁止转载
相关文档:
Watir 语法(Web Application Testing in Ruby)
# watir的安装
watie的安装请查看 -> Ruby library的安装
# 使用Watir工具,需要在脚本中加上
require 'watir'
# 创建一个IE的实例
ie = Watir::IE.new
或者在创建的同时直接转到页面
ie = Watir::IE.start('http://www.text.com/')
Watir使用start方法 ......
1、安装ubuntu
一路next,记住安装英文版。待安装完毕后,首先选择“软件源”,系统--系统管理-软件源,国内一般选择的是:http://ubuntu.cn99.com/ubuntu;接着安装中文包,选择软件源就是为了下载软件的速度更快,安装完成后重启ubuntu,重启后会提示是否改变某些文件夹名称,选择“否”,防止系统对 ......
本文转自:
http://hi.baidu.com/24xinhui/blog/item/9f52dd34382e11325ab5f553.html
ruby-语法
2009年06月20日 星期六 上午 00:21
http://www.blogjava.net/xxllnnn/archive/2009/01/18/251762.html
http://www.cnblogs.com/cnblogsfans/archive/2009/01/24/1380804.html
__setobj__ (2009-7-14)
&nbs ......
Ruport目前自带支持PDF,HTML,CSV,TXT格式输出,如果想打印.xml,.bat报表怎么办?
本例将以XML格式为例,实现Ruport::Formatter的另一种自定义应用。
Ruport的应用参考: Ruby Ruport实践—简单报表系统
注:其他格式的报表只需要修改renders对应的内容(如希望保存为.bat格式,将renders :xml改为renders :bat), ......
1. 进制的快捷转换
"100".to_i(2) , 将100作为二进制输出十进制数,
结果 : 4
"100".to_i(9), 九进制,
结果: 81
"100".to_i(16), 十六机制,
结果: 256
比较帅,字符串转换在vc编程里面比较头疼。 ......