目录
非操作符
Ruby语言包括11个非操作符:圆括号(( ))、方括号([ ])、花括号( { })、圆点(.)、逗号(,)、分号(;)、冒号(:)、双冒号(::)、箭头(=>)、星号(*)、与(&)、小于(<)。
操作符
操作符,又称为运算符。有一个操作数的操作符称为一元操作符,有二个操作数的操作符称为二元操作符。
1.一元操作符
+、-、~、!
#对应方法名
+@、-@、~@、!@
class Point
.
.
.
def +@
dup #返回自己的副本
end
def -@
self.class.new(-x,-y) #颠倒x、y各自的正负
end
def ~@
self.class.new(-y,x) #使坐标翻转90度
end
end
point = Point.new(3, 6)
p +point #=> (3, 6)
p -point #=> (-3, -6)
p ~point #=> (-6, 3)
2.求幂操作符
**
3.算术操作符
+、-、*、/、%
4.赋值操作符
#部分常见赋值操作符
&&=、&=、||=、|=、^=、<<=、>>=、+=、-=、*=、/=、%=、**=、=
5.移位和追加操作符
类Fixnum和Bignum定义了<<和>>移位操作符。<<还经常被用于追加操作符,String、Array及IO类都定义了<<追加操作符。
message = "hello" #字符串
messages = [] #空数组
message << " world" #添加右侧内容至message字符串
messages << message #添加message字符串至messages数组
STDOUT << message #打印message内容至标准输出流
6.位补、并、 交操作符
~、&、|、^
7.比较操作符
<、<=、>、>=、<=>
8.相等性操作符
==、!=、=~、!~、===
9.布尔操作符
&&(与)、||(或)、!、and、or、not
10.defined?操作符
defined?是一个一元操作符,它测试其操作数是否已经被定义过了。
15.逻辑操作符
条件1 || 条件2 || 条件3 #当条件中的任何一个为真时,即返回真值,按逻辑顺序从左往右运算
16.条件操作符
条件 ? 表达式1 : 表达式2
a = 1
b = 2
max = (a > b) ? a : b
p max #=>2
上面的表达式与下面使用if语句的表达式是等价的。
if 条件
表达式1
else
表达式2
end
条件操作符又称为三元操作符,虽然条件操作符写法比较简洁,但是如果表达式过于复杂就会使程序变得难懂,因此建议不要滥用此写法。
17.范围操作符
范围操作符有..和…两种。x..y和x…y的区别在于,前者的范围是x到y,而后者的范围是从x到y的前一个元素。
5..10 #=>5,6,7,8,9,10
5...10 #=>5,6,7,8,9
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/ruby/rubylang/1516.html