ruby------方法

1. Ruby根据接收者的不同,可以将方法分成3种:
1.1 实例方法
1.2 类方法
1.3 函数性的方法

2. 实例方法
实例方法是最普通的方法。当对象(实例)存在时,把该对象作为接收者。
例如:

"10, 20, 30, 40".split(",")
[1,2,3,4].index(2)
1000.integer?
# 上面的对象依序分别是字符串,数组,数值的接收者

# 然而,也有一些表面看来像是运算符的方法
obj =~ arg1
obj[arg1] = arg2
obj + arg1
# 上面的这些语句虽然与一般方法的调用语法不同,但都是接收者为"obj",方法实参为"arg1", "arg2"的方法调用。


3. 类方法
当接收者不是对象而是类时,这个方法称为类方法。
例如,要建立一个实例的时候,就会使用类方法。

a = Array.new # 建立新数组
f = File.open("some_file") # 建立新的文件对象
t = Time.new # 建立新的Time对象

例如,有些没有直接操作实例,但仍与该类有关的操作,也会使用类方法。

File.rename(oldname, newname) # 更改文件名
CGI.escapeHTML(html_string) # 转换HTML的特殊字符
(如将"<", "&"转换成实例引用的"<"与"&")

例如,类方法也有些是运算符的形式。

Array["a", "b", "c"] # 产生["a", "b", "c"]这个数组

4. 函数性方法
没有接受者的方法,称为函数性方法。
事实上,说是“没有接收者",其实并不是真的没有接收者对象,只是函数性的方法省略了它而已
例如:

sin(3.14) # sin函数
sleep(10) # 程序暂停执行指定的秒数
print "hello!" # 在控制台显示字符串

函数性的方法都设计成不会因为接收者状态的不同而影响执行结果。

5. 定义方法
def 方法名(参数1, 参数2, ...)
想要执行的动作
end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值