Ruby语法了解

三、流程控制

1、条件控制

if 条件表达式  operation1 elsif operation2 else operation3 end

unless 条件表达式 operation2  else operation1 end 与if流程相反

2、分支控制

case 表达式 when 值1,值2 operation1 when 值3,值4 operation else operation3 end

3、循环控制

while 条件表达式 operation end

until 条件表达式 operation end

for 循环变量 in 数组对象 operation end

for 循环变量 in 区间对象 operation end

注意:其中break控制退出,next=continue,retry重新迭代

相关代码:条件控制示例

四、Ruby面向对象

1、定义类

通过class关键字,并且遵循惯例,比如class Myclass

类的继承Myclass<Class<Module<Object

定义类没有构造函数,直接通过new方法实例化对象

2、定义方法、属性

方法定义:通过def关键字,可以通过Myclass.method、self.method方式声明为类方法

属性定义:通过attr[attr_reader|attr_writer|attr_accessor]: atrr1,或者通过方法定义def attr2 @attr2 end

方法与属性可以通过public private protected修饰

相关代码:Myclass类定义

3、类变量

通过方法定义def attr @@attr end,可以在类中初始化@@attr = value。

相关代码:类变量定义

4、扩展与继承

扩展:即将已有的类继续扩展,包括扩展新的实例方法,类方法,覆盖旧的方法

相关代码:扩展Fixnum

继承:定义另一个类的时候使用 < 继承已有的类

相关代码:继承一个类

5、通过别名达到多态的效果

当用alias 新的名字 旧的名字时,新的名字作为旧的名字的备份,当旧的名字被覆盖时,新的名字仍然保留原有的功能

相关代码:alias别名的使用

6、复制与对象的冻洁

复制:拥有一个对象的副本,通过Object的方法dup、clone进行一个浅复制,通过Marshal的方法dup_var = dump(obj)、load(dup_var)序列化进行深复制

冻洁:指冻洁对象的修改,通过方法freeze

相关代码:对象的复制与冻洁


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值