辛蒂JS公司

布尔算子

条件分支可能在很大程度上取决于布尔查询的结果。在本节中,我们将描述所有此类查询以及处理布尔值的不同方法。

中缀操作符

测试相等性:expr1›==бexpr2›

描述:此运算符测试两个表达式的计算结果是否相同。此运算符的结果是真的虚假的.

1 == 2
虚假的
1.0==1+0*i
真的
-3*0 == 2*0
真的
3==3+i
虚假的

请注意NaN公司(不是数字)与自身相比也不相等:

a=0/0
警告:除以零!
a==a
虚假的

也可以比较数字以外的对象。要比较相等,两个对象必须是同一类型的。

0 == "0"
虚假的
“true”==真
虚假的

列表按要素进行比较:

a=[2,5,7,3]
[2, 5, 7, 3]
b=[2,5,7,2+cos(0)]
[2, 5, 7, 3]
a==b
真的
a!=b
虚假的
b_1=0
0
a==b
虚假的
a!=b
真的
[1,2,[3,4,“foo”]]==[1,2,[3,4,“foo”]]
真的
[1,2,[3,4,“bar”]]==[1,2,[3,4,“foo”]]
虚假的

测试不等式:expr1›!=expr2›

描述:此运算符测试两个表达式的计算结果是否不相同。此运算符的结果是真的虚假的.这是逻辑上的否定expr1›==бexpr2›.

1 != 2
真的
1.0 != 1+0*i
虚假的
-3*0 != 2*0
虚假的
3 != 3+i
真的

请注意NaN公司(非数字)与自身不同:

a=0/0
警告:除以零!
a!=
真的

不同类型的对象之间总是不同的。

0 != "0"
真的
“真的”!=真的
真的

列表以元素为单位进行比较。已经给出了许多这样的例子使用==操作人员为了使用此处定义的相同变量。其他的只是各自的否定==同时回答:

[1,2,[3,4,“foo”]]!=[1,2,[3,4,“foo”]]
虚假的
[1,2,[3,4,“bar”]]!=[1,2,[3,4,“foo”]]
真的

大于:expr1›>бexpr2›

描述:此运算符测试表达式expr1›大于表达式expr2›.它返回一个嘘声›值。此比较仅适用于两种情况:如果两个表达式都是实数,那么大小的顺序就是实数的通常顺序。

1 > 2
虚假的
2 > 1
真的
1*0>-1*0
虚假的

如果两个表达式都是,则顺序为字典(dictionary)顺序。

“a”>“b”
虚假的
“ab”>“a”
真的
“ab”>“b”
虚假的
“aa”>“a”+“a”
虚假的

在所有其他情况下(如果值不可比较)___返回。

1>1+i
___
"2" > 1
___

小于:expr1›

描述:此运算符类似于>而是测试小于.

1 < 2
真的
2<1
虚假的
1*0 < -1*0
虚假的
“a”<“b”
真的
“ab”<“a”
虚假的
“ab”<“b”
真的
“aa”<“a”+“a”
虚假的
1<1+i
___
"2" < 1
___

大于或等于:expr1›>=бexpr2›

描述:此运算符类似于>而是测试大于或等于.

1 >= 2
虚假的
2 >= 1
真的
1*0 >= -1*0
真的
“a”>=“b”
虚假的
“ab”>=“a”
真的
“ab”>=“b”
虚假的
“aa”>=“a”+“a”
真的
1>=1+i
___
"2" >= 1
___

小于或等于:expr1›

描述:此运算符类似于>而是测试小于或等于.

1小于等于2
真的
2 <= 1
虚假的
1*0 <= -1*0
真的
“a”<=“b”
真的
“ab”<=“a”
虚假的
“ab”<=“b”
真的
“aa”<=“a”+“a”
真的
1<=1+i
___
“2”<=1
___

模糊比较:

描述:CindyScript提供了模糊的每个比较运算符的变量。此版本测试在ε范围内是否满足条件。因此,测试a~=0测试变量是否为介于.小值epsilon设置为0.0000000001.此运算符有时对避免纯数值计算中不可避免的不精确性非常有用。

精确运算符和模糊运算符的确切语义可以从下图中读出。图中显示了每个操作员所在的区域b(标记为红色)运算符的计算结果为true。

模糊比较图示

//ε的值无法精确表示比例因子=1;重复(86,scaleFactor=0.5*scaleFactor);greaterThanEps=7737125245533627*比例因子;lessThanEps=7737125245533626*scaleFactor;greaterThanEps*10^10
1
少于10^10
1
greaterThanEps==小于ThanEps
虚假的
约等于:expr1›~=бexpr2›
-更伟大的感恩节~=0
虚假的
-小于等于0
真的
0 ~= 0
真的
小于等于0
真的
greaterThanEps~=0
虚假的

列表以元素为单位进行比较。最大误差决定结果因此,错误不会在列表中累积。

a=[2,8,7,3]
[2, 8, 7, 3]
b=[2,8,7,3.000000000001]
[2, 8, 7, 3]
a==b
虚假的
a~=b
真的
[0,0]~=[lessThanEps]
真的
[0,0]~=[0,greaterThanEps]
虚假的
[0,[0,lessThanEps]]~=[lessThan Eps,[lessThanEps,0]]
真的
[0,[0,lessThanEps]]~=[greaterThanEps,[lessThan Eps,0]]
虚假的

不同长度的列表总是不相等的。

[0, 0] ~= [0, 0, 0]
虚假的
明显不同:expr1›~!=expr2›
-greaterThanEps~!=0
真的
-lessThanEps~!=0
虚假的
0 ~!= 0
虚假的
lessThanEps~!=0
虚假的
greaterThanEps~!=0
真的

列表以元素为单位进行比较。最大误差决定结果因此,错误不会在列表中累积。

a=[2,8,7,3]
[2, 8, 7, 3]
b=[2,8,7,3.000000000001]
[2, 8, 7, 3]
a!=b
真的
a~!=b
虚假的
[0, 0] ~!= [lessThanEps]
虚假的
[0, 0] ~!= [0,更棒的ThanEps]
真的
[0,[0,lessThanEps]]~!=[lessThanEps,[lessTanEps,0]]
虚假的
[0,[0,lessThanEps]]~!=[greaterThanEps,[lessThanEp,0]]
真的

不同长度的列表总是不相等的。

[0, 0] ~!= [0, 0, 0]
真的
大于或近似等于:expr1›~>=бexpr2›
-greaterThanEps~>=0
虚假的
-lessThanEps~>=0
真的
0 ~>= 0
真的
lessThanEps~>=0
真的
greaterThanEps~>=0
真的
小于或近似等于:expr1›~<=бexpr2›
-greaterThanEps~<=0
真的
-小于等于0
真的
0 ~<= 0
真的
小于等于0
真的
greaterThanEps~<=0
虚假的
明显更少:expr1›~<бexpr2›
-greaterThanEps~<0
真的
-小于等于Eps~<0
虚假的
0 ~< 0
虚假的
小于等于Eps~<0
虚假的
更伟大的感恩节~<0
虚假的
明显更大:expr1›~>expr2›
-greaterThanEps~>0
虚假的
-小于等于0
虚假的
0 ~> 0
虚假的
小于等于0
虚假的
greaterThanEps~>0
真的

逻辑和:›bool1›&›bool2›

描述:逻辑由以下真值表定义的两个布尔值:

一个 B类 A和B
虚假的 虚假的 虚假的
虚假的 真的 虚假的
真的 虚假的 虚假的
真的 真的 真的

如果两个参数之一不是布尔表达式,则运算符返回___.


逻辑或:bool1›%⁄bool2›

描述:逻辑由以下真值表定义的两个布尔值:

一个 B类 A%B公司
虚假的 虚假的 虚假的
虚假的 真的 真的
真的 虚假的 真的
真的 真的 真的

如果两个参数之一不是布尔表达式,则运算符返回___.


逻辑不:!‹布尔›

描述:逻辑由以下真值表定义的一个布尔值:

一个 !一个
虚假的 真的
真的 虚假的

如果参数不是布尔表达式,则运算符返回___.

!(1 < 0)
真的
!(1 > 0)
虚假的
!1
___


函数运算符

逻辑和:和(bool1›,бbool2›)

描述: 和(x,y)等于x轴(&y).


逻辑或:或(bool1›,бbool2›)

描述: 或(x,y)等于x%年.


逻辑不:不是(Şbool›)

描述: 不是(x)等于!x个.

不是(1<0)
真的
不(1>0)
虚假的
不是(1)
___

逻辑异或:xor(bool1›,бbool2›)

描述:逻辑独占或由以下真值表定义的两个布尔值:

一个 B类 xor(A,B)
虚假的 虚假的 虚假的
虚假的 真的 真的
真的 虚假的 真的
真的 真的 虚假的

如果两个参数之一不是布尔表达式,则运算符返回___.



类型谓词

以下谓词测试表达式出口›属于某一类对象。谓词在定义其行为取决于输入表达式类型的函数时非常重要。此外,这些参数对于调试非常有用,因为它们可以用来测试关于程序中值类型的断言。


是一个整数:isinteger(expr›)

描述:此运算符测试表达式出口›是一个整数。


是实数:以色列(expr›)

描述:此运算符测试表达式出口›是一个实数。注意,整数也是实数。


是复数:iscomplex(expr›)

描述:此运算符测试表达式出口›是一个复数。请注意,实数也是复数。


为偶数:iseven(expr›)

描述:此运算符测试表达式出口›是一个偶数。


是奇数:isodd(Şexpr›)

描述:此运算符测试表达式出口›是一个奇数。


是一个列表:伊斯兰主义者(expr›)

描述:此运算符测试表达式出口›是一个列表。


是矩阵:ismatrix(expr›)

描述:此运算符测试表达式出口›具有矩阵形状。这意味着列表中的条目本身就是列表,所有条目的长度都相同。如果有n个每个长度的条目表达式表示n个×矩阵。


是数字向量:isnumbervector(expr›)

描述:此运算符测试表达式出口›是一个列表,所有条目都是数字(整数、实数或复数)。


是一个数字矩阵:是数字矩阵(expr›)

描述:此运算符测试表达式出口›是一个矩阵,其所有条目都是数字(整数、实数或复数)。


是一个字符串:isstring(expr›)

描述:此运算符测试表达式出口›是一个字符串。


是几何元素:isgeometric(expr›)

描述:此运算符测试表达式出口›表示几何元素。


已选定:被选中(expr›)

CindyJS中尚不可用!

描述:此运算符测试表达式出口›表示几何元素并被选中。对于几何元素,也可以使用.selected属性进行检查。


是一个要点:ispoint(expr›)

描述:此运算符测试表达式出口›表示几何点。


是一条线:岛屿(expr›)

描述:此运算符测试表达式出口›表示一条几何线。


是一个圆:iscircle(expr›)

描述:此运算符测试表达式出口›表示几何圆。


是圆锥曲线:isconic(expr›)

描述:此运算符测试表达式出口›表示几何二次曲线。


是质量:地震(expr›)

描述:此运算符测试表达式出口›表示CindyLab质量。


是太阳:issun(expr›)

描述:此运算符测试表达式出口›代表CindyLab太阳。


是弹簧:isspring(expr›)

描述:此运算符测试表达式出口›代表CindyLab弹簧。


是保镖:isbounger(expr›)

描述:此运算符测试表达式出口›代表CindyLab保镖。


未定义:未定义(expr›)

描述:此运算符测试表达式出口›返回未定义的元素(___).