ruby学习笔记一
- ruby -e ‘ruby语句’
- ruby ruby源文件
- irb irb是ruby的交互式环境
”#”表示单行注释,同C++中的//
=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
1…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