功能后声明标签

时间:2019-03-04 09:50:58

标签: oz mozart

我在Oz中有以下代码:

declare
fun {NewCounter}
C Bump Read in
C={NewCell 0}
fun {Bump}
C:=@C+1
@C
end
fun {Read}
@C
end
counter(bump:Bump read:Read)
end

我有两个问题:

1)C,Bump和Read标签在NewCounter函数之后声明。它们是全局标签吗?

2)NewCounter函数返回记录计数器。考虑到没有其他函数永远不会显式调用它,为什么我必须指定记录(计数器)的名称?

1 个答案:

答案 0 :(得分:0)

C,Bump和Read是局部变量(NewCounter函数的一部分)。

这里返回的记录的标签可能并不重要。但是客户端代码可以使用标签。在调试器中查看也很有用。