Ruby(2)(上)

内容简述:关于ruby的对象、集合、类等基本构建单元的用法。

一、定义函数

>>def tell_the_truth
>>   true
>>end

可以用命令行格式定义函数,函数返回值为退出函数最后处理的表达式的值。

 

二、数组

image

从截图可以看出,ruby的集合非常灵活,可以访问未定义的数组元素,直接返回nil,不会报错,同时,如果使用[-1],可以返回倒数的元素。

ruby的数组不必具有相同的类型,甚至其元素同样可以是数组。

ruby的数组拥有极其丰富的api,可以作为队列、链表、栈、集合等等。

 

三、散列表

image

其中最后的散列表,使用了符号(symbol),形式为:symbol,因为同值的字符串可能物理地址不同,但是加了符号后,却是可以作为同一物理地址的对象,具体如下图所示:

image

如果使用散列表模拟命名参数,可以看下面的例子:

image

 

四、代码块和yield

ruby的惯例是 代码块只占用一行的时候使用大括号,代码块占用多行的时候,使用 do/end,代码块可以使用一个或者多个参数。

image

在参数名前面添加&,表示将代码块作为闭包传递给参数,在引用函数的时候,参数必须用大括号包围,这样才能识别为代码块。

五、使用文件形式运行ruby

image

如图所示,可以猜windows的dos命令行模式下,使用ruby命令执行.rb文件,其中.rb文件可以使用任意文本编辑器或者专业ide编辑。

 

六、定义类

和java类似,ruby的所有类都继承自object。

下一节将重点理解ruby中的类。

转载于:https://www.cnblogs.com/kazzakyoung/archive/2012/08/05/2624275.html