一步一步学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里用 < 实现继承 本文作者: 王德水 未经同意,禁止转载
相关文档:
下文转自:
http://www.cnblogs.com/watir/archive/2009/04/25/1443440.html
ruby文件从命令行中接收参数
在命令行方法执行ruby文件时,需要从命令行中传入参数,可以使用全局变量:ARGV
如有ruby 文件test.rb,内容如下:
1 def hello(a)
2 puts a
3 end
4
5 ......
Prepare
1. Download 'OCI 1.x.x.rb' (it's VERY important - execution MUST be *.rb)
2. Download 'oci8lib.so'
Install
1. Copy 'OCI8.rb' to .../ruby/lib/ruby/site_ruby/1.8/DBD/OCI8
2. Copy 'oci8.rb' to .../ruby/lib/ruby/site_ruby/1.8
3. Copy 'oci8lib.so' to .../ruby/lib/ruby/site_ruby/1.8/i386-msv ......
Ruby语言学习系列--基本的ruby语法
1. 基本的ruby语法
1.1 变量、常量和类型
1) 定义变量
变量类型
描述
示例
局部变量(或伪变量)
以小写字母或下划线卡头
var _var
全局变量
以$开头
$ ......
此例子在 Ruby Ruport实践—简单报表系统 及 Ruby Ruport实践—中文PDF报表之PRAWN 的基础上进行完善,添加了对报表参数的设计及实现。
一、创建数据表report_parameters
create table report_parameters
(report_parameter_id integer not null auto_increment,
report_execute_id integer not null, ......
Ruby 异常处理
文章分类:Ruby编程 关键字: ruby 异常 异常处理
异常处理是开发过程中经常要面对的问题,基本所有高级语言都有自己的异常处理系统,ruby也不例外,而且使用起来也非常简单。
ruby中异常的抛出是使用的raise方法,记住 ......