我在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函数返回记录计数器。考虑到没有其他函数永远不会显式调用它,为什么我必须指定记录(计数器)的名称?
答案 0 :(得分:0)
C,Bump和Read是局部变量(NewCounter函数的一部分)。
这里返回的记录的标签可能并不重要。但是客户端代码可以使用标签。在调试器中查看也很有用。