武装突袭 Wiki
注册
Advertisement

运算符是每种编程语言内建的基本命令。它们为使用者提供了执行基本数学运算和逻辑运算的能力。

需求[ | ]

要理解这篇文章,你需要阅读下列文章:

术语[ | ]

运算数
operand 是任何赋予运算符的值。
表达式
表达式是任何返回一个值的代码。阅读 Expression获取更多信息。
一元运算符
一元运算符是只需要一个运算数的运算符。
一元运算:
运算符 expression
二元运算符
二元运算符需要两个运算数。
二元运算:
expression 运算符 expression

赋值运算符[ | ]

赋值运算符用来给 variable 赋值。闪点行动只提供了一个赋值运算符。 赋值:

identifier = expression


示例 1:

a = b

你或许认为这个运算符比较了ab,但事实并非如此。 = 只是将左值赋给右值。不存在其他编程语言中可以看到的如同 +=, -= 等的运算符。


示例 2:

a = b*c

算术运算符[ | ]

还记得学校里学过的算术运算吗?和这里是一样的。

算术运算符的运算数必须是 Numbers。算术运算符总是返回一个 Number

一元算术运算符 (以优先级排序)
运算符 名称 示例
- -a, +-a, -+a
+ +a
( 括号 (expression)
二元算术运算符
运算数 名称 示例
+ 加法 a + b
- 减法 a - b
* 乘法 a * b
/ 除法 a / b
% 取余 a % b
mod 取余 a mod b
^ 次幂 a ^ b

取余 返回除法a / b的余数。


可参考: Math Commands

逻辑运算符[ | ]

逻辑运算符计算 Boolean 值。所有逻辑运算的运算数都是Booleans

一个逻辑运算符总是返回一个 Boolean值。

一元逻辑运算符
运算符 名称 示例
! !a
not not a

Not-运算符总是返回一个取反的 Boolean 值。如果一个Boolean atrue, !a 返回 false 反之同理。

二元逻辑运算符
运算符 名称 示例
&& a && b
and a and b
|| a || b
or a or b
  • 和 只返回 true如果两个运算数均为 true
  • 或 返回 true 如果一个或两个运算数为 true


没有异或或非与非 运算符。但这些可以通过基本运算符的来模拟:

结合逻辑运算符
名称 结合
异或 ((a || b) && !(a && b))
或非 !(a || b)
与非 !(a && b)
  • 异或 返回true 如果两个值中只有一个为 true
  • 或非 返回true 如果两个值都不为 true
  • 与非 返回true 如果两个值不同时为true

比较运算符[ | ]

比较运算符用来对比两个值。比较运算的运算数类型可以是Number, Side, String, Object, Group, Structured Text, Config, Display 或者 Control

比较运算总是返回一个Boolean: 如果比较匹配,返回true否则返回 false。

比较运算符
运算符 名称 示例
== 等于 a == b
!= 不等于 a != b
< 小于 a < b
> 大于 a > b
<= 小于或等于 a <= b
>= 大于或等于 a >= b

注意:你无法比较 Boolean 值。将一个 Boolean值与true 比较等同于它本身。将一个 Boolean 值与false 比较等同于将该值取反

a == true
// 无效,但等同于
a
a == false
// 无效,但等同于
!a

数组运算符[ | ]

脚本语言提供了内置运算符来处理数组。所有运算数类型都必须是 Array

数组运算符的返回值仍旧是一个 Array

一元数组运算符
运算符 名称 示例
+ 复制 +myArray

通常,数组通过引用分配。这意味着,如果将数组a分配给数组b,然后更改a,则b也会更改。如果没有特殊考虑,可使用复制运算符可避免这种效果。 

示例 1:

_arrayA = [1,2];
_arrayB = _arrayA;
_arrayA set [0,5];

_arrayA => [5,2]
_arrayB => [5,2]

示例 2:

_arrayA = [1,2];
_arrayB = +_arrayA;
_arrayA set [0,5];

_arrayA => [5,2]
_arrayB => [1,2]
二元数组运算符
运算符 名称 示例
+ 连接 myArray1 + myArray2
- 移除 myArray1 - myArray2
  • + 将第二个运算数加到第一个运算数的末尾
  • - 从第一个运算数中移除第二个运算数中的所有元素

示例 1:

_arrayA = [1,2];
_arrayB = [3,2,4];

_arrayC = _arrayA + _arrayB;

_arrayC => [1,2,3,2,4]

示例 2:

_arrayA = [1,2,3,2,4];
_arrayB = [2,3];

_arrayC = _arrayA - _arrayB;

_arrayC => [1,4]

字符串运算符[ | ]

脚本语言提供了一个单字符运算符来连接两个字符串。两个运算数都必须是Strings

一个字符串运算符的返回值是 String

二元字符运算符
运算符 名称 示例
+ 连接 myString1 + myString2
  • + 把第二个运算数加到第一个运算数的末尾

示例:

_stringA = "Hello ";
_stringB = "World!";

_stringC = _stringA + _stringB;

_stringC => "Hello World!"
Advertisement