Ruby 基本的赋值用 “ = ” 来完成,就像 E3.8-1.rb 如下示例:(在不产生歧义的地方,我用 # => 表示答案)
ruby 代码
- a = 1 ;b = 2 + 3 # => a=1 ,b=5
- a ,b = b ,a # => a=5 ,b=1
- a = b = 1 + 2 + 3 # => a=6 ,b=6
- a = (b = 1 + 2) + 3 # => a=6 ,b=3
- x = 0 # => x=0
- a,b,c = x, (x+1), (x+2) # => a=0 ,b=1,c=2
Ruby 的条件运算符比 Java 更加复杂,看例子 E3.8-1.rb:
==
(等于)
!
=
(不等于)
|
比较两个对象的值是否相等
,
返回
true, flase
a=1; b=1.0; a==b
# => true
|
eql?
|
比较两个对象的值、类型是否相等
,
返回
true, flase
a=1; b=1.0; a.eql?(b)
# => flase
(
a
为整数型,
b
为
浮点型
)
|
equal?
|
比较两个对象在内存中地址是否相同
,
返回
true, flase
a=1.0; b=1.0; a.equal?(b)
# => flase
a=1.0; b=a ; a.equal?(b)
# => true
|
<=>
|
比较两个对象的大小,大于、等于、小于
分别返回
1,0,-1
"aab" <=> "acb"
# =>
-1
(第二个
a
的
ASCII
码小于
c
)
[5] <=> [4,9]
# => 1
(第一个元素
5 > 4
)
|
===
|
右边的对象是否在左边区间之内
,
返回
true, flase
puts
(0..9)=== 3.14
# =>
true
puts
('a'..'f')=== 'c'
# =>
true
|
=~
(匹配)
|
用来比较是否符合一个
正则表达式
,
返回
模式在字符串中被匹配到的位置,否则返回
nil
|
!~ (
不匹配
)
|
断言不符合一个
正则表达式
,
返回
true, flase
|
<= < > >=
|
小于等于
小于
大于
大于等于
|
完整阅读,请看我写的 Ruby语言中文教程all in one