【问题标题】:Declaring labels after function在函数后声明标签
【发布时间】:2019-03-04 09:50:57
【问题描述】:

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

【问题讨论】:

    标签: oz mozart


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-01-13
      • 2015-09-16
      • 1970-01-01
      • 2016-08-01
      • 1970-01-01
      • 2020-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多