|
|
1
Alexander Kogtenkov
7 年前
构造之间的主要区别在于操作数类型和语义。
-
-
接线员
/
全班同学
TYPE
如果传递的参数符合type对象指定的类型,则返回该参数的值。否则,它会返回
Void
{SOME_TYPE} / expression
相当于
if attached {SOME_TYPE} expression as value then
value
else
{detachable SOME_TYPE}.default
end
对于引用类型,对象测试
attached {SOME_TYPE} expression as value
相当于
attached ({SOME_TYPE} / expression) as value
是获取特定类型的值(如果可能),或者
否则:
x := {SOME_TYPE} / expression
-
参考等式
=
a = b
对于参照对象意味着
a
和
b
=
如果表达式
dog = animal
退货
True
dog
和
animal
引用同一个对象,但我们不知道它是什么类型。
-
对象相等
~
比较两个对象的内容。首先,它检查两者是否都是非void,是否具有相同的类型,然后调用(用户定义的)谓词
is_equal
如果表达式
dog ~ animal
退货
是的
,变量
狗
可以是具有相同类型且相等的相同或不同对象(根据
). 和前面的例子一样,我们不知道它们是什么类型。
类型
(对应名称)
attempted
).
|