1.3Ruby语言的运算符(Operator)

1.一元运算符

运算符名称描述
+a求正a 的值本身。
-a求负a 的负值。

2.算术运算符

运算符名称
a + b加法,字符串连接。
a - b减法
a * b乘法
a / b除法
a % b求余
a ** b求幂

3.赋值运算符

运算符名称
a = b赋值
a += b加法赋值
a -= b减法赋值
a *= b乘法赋值
a /= b除法赋值
a %= b求余赋值
a **= b求幂赋值
a &&= b逻辑与赋值
a ||= b逻辑或赋值
a &= b按位与赋值
a |= b按位或赋值
a ^= b按位异或赋值
a <<= b左移位赋值
a >>= b右移位赋值

4.相等性运算符

运算符名称描述
a == b相等先进行强制类型转换,再比较 ab 的值是否相等。如果值相等,则返回 true,否则返回 false
a != b不相等== 相反。
a === bcase相等性运算符不同的类对 === 运算符的定义不一样,具体情况具体分析。注意:Ruby 语言不支持 !== 运算符。
a =~ b模式匹配运算符不同的类对 =~ 运算符的定义不一样,具体情况具体分析。
a !~ b模式匹配运算符=~ 相反。

5.关系比较运算符

运算符名称描述
a < b小于先进行强制类型转换,再比较 ab 的值。如果 a 小于 b,则返回 true,否则返回 false
a <= b小于或等于先进行强制类型转换,再比较 ab 的值。如果 a 小于或等于 b,则返回 true,否则返回 false
a > b大于先进行强制类型转换,再比较 ab 的值。如果 a 大于 b,则返回 true,否则返回 false
a >= b大于或等于先进行强制类型转换,再比较 ab 的值。如果 a 大于或等于 b,则返回 true,否则返回 false
a <=> b宇宙飞船运算符先进行强制类型转换,再比较 ab 的值。如果 a 小于 b,则返回 -1。如果 a 等于 b,则返回 0。如果 a 大于 b,则返回 1。如果 ab 不可比较,则返回 nil

6.布尔逻辑运算符

运算符名称描述
!a逻辑非(NOT)如果 a 的计算结果为 nilfalse,则返回 true,否则返回 false
not a逻辑非(NOT)! 运算符的低优先级版本。
a && b逻辑与(AND)如果 a 的计算结果为 nilfalse,则不计算 b 并返回 nilfalse。如果 a 的计算结果为除了 nilfalse 以外的任何值,则继续计算 b 并返回 b 的返回值。
a and b逻辑与(AND)&& 运算符的低优先级版本。
a || b逻辑或(OR)如果 a 的计算结果为除了 nilfalse 以外的任何值,则不计算 b 并返回 a 的返回值。如果 a 的计算结果为 nilfalse,则继续计算 b 并返回 b 的返回值。
a or b逻辑或(OR)|| 运算符的低优先级版本。

7.位运算符

运算符名称
~a按位非 NOT
a & b按位与 AND
a | b按位或 OR
a ^ b按位异或 XOR
a << b左移位
a >> b右移位

8.三元条件运算符

运算符描述
a ? b : c如果 a 的计算结果为除了 nilfalse 以外的任何值,则返回 b,否则返回 c

9.分组运算符

运算符描述
()分组作用

10.defined?运算符

运算符描述
defined? a如果 a 已经定义了,则返回一个字符串,否则返回 nil

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/ruby/rubylang/36151.html

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2025年2月2日 21:53
下一篇 2025年2月3日 18:54

相关推荐

  • 2.2Ruby类型之类(Class)

    1.类定义 类声明是 Class 类的实例。 1.1类声明 2.成员定义 注意:Ruby 语言不支持类访问器属性。 3.继承 3.1方法继承 一个子类只可以直接继承自一个父类,不可以直接继承自多个父类。 子类会直接继承父类中可继承的方法,间接继承祖父类中可继承的方法,以此类推,直至没有可继承的方法。 支持的方法:类方法…

    Ruby语言教程 2025年3月2日
    0580
  • 2.6Ruby类型之哈希(Hash)

    哈希的键可以是任何 Ruby 数据类型,最常用的是符号类型,其次是字符串类型。 哈希的键不可以重复,后定义的键值对会覆盖先定义的键值对。 哈希的值可以是任何 Ruby 数据类型,且不必都是同一个类型。 哈希的值可以重复。 哈希的键值对是无序的,但迭代时是有序的。 哈希的键值对的个数(长度)可以动态改变,可以添加、更改、…

    Ruby语言教程 2025年3月6日
    0590
  • 1.5Ruby语言的变量(Variable)

    1.变量声明 变量在赋值后可以通过重新赋值更改其值。 2.变量作用域 3.变量引用表达式

    Ruby语言教程 2025年2月5日
    0540

发表回复

登录后才能评论