我在 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 函数返回记录计数器。考虑到没有其他函数永远不会显式调用它,为什么我必须指定记录的名称(计数器)?