Skip to content

Latest commit

 

History

History
138 lines (99 loc) · 3.54 KB

File metadata and controls

138 lines (99 loc) · 3.54 KB

ruby学习笔记一

运行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