eqObj

语法

eqObj(obj1, obj2, [precision])

参数

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

precision 是一个非负整数,表示对 FLOAT 或 DOUBLE 类型,比较精度为小数点后几位。

详情

检验两个对象的类型和值是否相同。只有当类型和值都相同时,此函数才会返回 true。 如果值相同但类型不同,则此函数仍返回 false,这与函数 eq 不同。
注: 使用 eqObj 比较浮点数时,根据 abs(obj1-obj2)<=pow(10,-precision) 的结果来判断 obj1 和 obj2 的值是否相等。

例子

eqObj(2, 2.0);
# output
false

eq(2, 2.0);
# output
true

eqObj(1.1, 1.2, 0);
# output
true

eqObj(1.1, 1.2, 1);
# output
false

eqObj(1 2 3, 1 2 3);
# output
true
eq(1 2 3, 1 2 3);
# output
[true,true,true]

eqObj 不能直接用于比较两个表是否相同。但是,可以使用高阶函数 each 来逐列对比两个表的值。

t1=table(1 2 3 as x, 4 5 6 as y);
t2=table(1 2 3 as x, 4 5 6 as y);

t1.values();
# output
([1,2,3],[4,5,6])

each(eqObj, t1.values(), t2.values());
# output
[true,true]