Ruby数据类型
-
数字
- 整数型(1,0,100,1e3)
- 浮点型(2.5,7.0,0.99,1.1e3)
- 数字前可以有前缀0表示8进制,0x表示十六进制,0b表示8进制
-
字符串
字符串写在单引号' '、双引号" "之间
- 数组
下标从0开始,数组的每个元素可以是不同的类型:
arrayA=[1,2.5,”hello world”,[a,b,c],78] 哈希表
month={
“Jan”=>1,”Feb”=>2,”Mar”=>3,”Apr”=>4,”May”=>5,”Jun”=>6,”Jul “=>7,”Aug”=>8,”Sep”=>9,”Oct”=>10,”Nov”=>11,”Dec”=>12
}区间
1..5表示1,2,3,4,5
1…表示1,2,3,4- 正则表达式
赋值和条件表达式
a=1,b=2;
b=2+3
a=b=1+2+3 #a=b=6
a=(b=1+2)+3 #a=6,b=3
x=0 a,b,c=x,(x+2),(x+3) #a=0 b=2 c=3
==(等于) !=(不等于) |
比较两个对象的值是否相等. a=1;b=1.0; a=b;#true |
---|---|
eql? | 比较两个对象的值、类型是否相等;返true、false a=1;b=1.0;a.eql?(b)#false |
equal? | 比较两个对象在内存中地址是否相等 a=1.0;b=1.0;a.equal?b #false a=1.0; b=a; a.equal?b #true |
<=> | 比较两个对象的大小,大于、等于、小于分别返回1,0,-1 ”aac”<=>”abc”#-1 [5]<=>[4,9] #1 |
=== | 右边的对象是否在左边的区间之内,返回true,false puts (0..9)===3.14 |
=~匹配 | 用来比较是否符合一个正则表达式,返回模式在字符串中被匹配到的位置,否则返回nil |
< >= > <= | 小于 大于等于 大于 小于等于 |
条件判断语句
-
if 、else语句
- 单条件 if 条件1 then 语句1,语句2… end
-
多条件
if 条件1
语句1;语句2;语句…
elsif
语句1;语句2;语句…
else
语句1;语句2;语句。。。
end - unless
unless 条件1 语句1; else 语句2; end
unless后条件1为假执行语句1,否则执行语句2.
x=1
if x<7 then puts "x小于7"
if x>2
puts "x is greater than 2"
elsif x<=2 and x!=0
puts "x is 1"
else
puts "I can't guess the number"
end
unless x>3
puts "x小于等于3"
else
puts "x大于3"
case条件分支语句
case 对象
when 可能性1
语句1;
when 可能性2
语句2;
when 可能性…
语句3;
else
语句…
end
循环语句
- while循环
while 条件>
循环体
end
#循环输出1-10
while x<=10
puts x
x=x+1
end