not

语法

not(X)!(X)

参数

X 可以是标量、数据对、向量或矩阵。

详情

返回对 X 应用 NOT 的值。返回值是 0, 1 或 NULL。 0 的 NOT 值是 1;NULL 的 NOT 值仍是 NULL;所有其他值的 NOT 值是 0。

not 函数和运算符 ! 在大部分场景下可以相互替代,但仍然存在一些区别:

  • not 与括号结合时,被当作函数处理,具有最高优先级;
  • not 不与括号结合时,则优先级较低,会先运算 not 右边的表达式,再运算 not。例如:not false and false 等价于 not(false and false),结果为 true。
  • 运算符 "!" 则总是按照运算符优先级执行。例如:!false and false 等价于 (!false) and false,结果为 false。

例子

!1.5;
# output
0
not 0;
# output
1
x=1 0 2;
not x;
# output
[0,1,0]
m=1 1 1 1 1 0 0 0 0 0$2:5;
m;
#0 #1 #2 #3 #4
1 1 1 0 0
1 1 0 0 0
not m;
#0 #1 #2 #3 #4
0 0 0 1 1
0 0 1 1 1
(1).not();
# output
0
(!NULL)==NULL;
# output
1