运行ruby的三种方式:
ruby -e 'ruby语句'
ruby ruby源文件
irb irb是ruby的交互式环境
注释与分行
=begin和=end表示多行注释,同C++中的/*和*/,=begin中间不能有空格,并且必须在一行的开头。
ruby中用;表示一条语句结束,一行中可以有多行语句;换行也代表语句结束,这时可以省略;号;如果语句太长,可以用/连接下行。
关键字
模块定义:module
类定义:class
方法定义:def, undef
检查类型:defined?
条件语句:if, then, else, elsif, case, when, unless
循环语句:for, in, while, until, next, break, do, redo, retry, yield
逻辑判断:not, and, or
逻辑值和空值:true, false, nil
异常处理:rescue, ensure
对象引用:super, self
嵌入模块:BEGIN, END
文件相关:__FILE__, __LINE__
方法返回:return
别名:alias
标识符
ruby使用约定来区别名字用法,名字的首字符表明名字的用法。
局部变量、方法参数和方法名用小写字母或者下划线开头;
全局变量用$开头;
实例变量用@开头;
类变量(相当于C++类中的静态数据成员)用@@开头;
类名、模块名和常量用大写字母开头。
数据类型
ruby的数据类型有数字、字符串、数组、哈希表、区别、正则表达式
字符串以''或者""括起来
[]表示数组,下标从0开始,数组中的元素可以是不同类型。如[1, 2, 'df', 34,5]
区别1..5 表示1, 2, 3, 4, 5
- ..5表示1, 2, 3, 4
运算符
= 赋值操作
== 相等比较
!= 不等比较
eql? 比较值、类型是否相等
equal? 比较对象地址是否相等
<> 比较对象的大小,大于、等于、小于分别返回1, 0, -1
== 判断右边的对象是否在左边区间内
~ 判断正则表达式
!~ 判断不符合正则表达式
<= 小于等于 < 小于
> 大于
>= 大于等于
基本语句
1.
if 条件 then 语句1; 语句2; 语句... end
2.
(语句1; 语句2; 语句...) if 条件
3.
if 条件
语句1;语句2;语句...
elsif 条件
语句1;语句2;语句...
end
4.
unless 条件 = if not 条件
5.
case x
when 1..2
语句1;语句...
when 4
语句
else
语句
end
6.
while 条件
语句
end
7.
(语句...) while 条件
8.
until a>= 10
语句
end
(until 条件 = while not 条件)
9.
for 变量 in 对象
语句...
end
(对象可以是数组,区别,集合...)
10.
break 跳出当层循环
next 忽略本次循环剩余部分,跳到下次循环
redo 从头开始循环,从本次开始
retry 重头开始这个循环体
异常
try...catch...finally...throw相同的功能在ruby中表示为begin/end...rescue...ensure...raise,可以在rescue中用retry