问题标签 [oz]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oz - 类属性上的“@attr = ...”和“attr := ...”有什么区别?
我班级的教科书警告不要混淆@attr = ...
以及attr := ...
在使用班级属性时。但是,它并没有解释有什么区别。我知道在使用单元格时,MyCell := ...
会更改单元格的内容,但我从未见过@something = ...
.
oz - 为什么“E1..E2 中的 X;E3 中的 X”在 Oz 中不起作用?
我正在使用 Mozart 2.0.0,我正在关注这些文档: http: //mozart.github.io/mozart-v1/doc-1.4.0/loop/node1.html#chapter.official
我猜循环语法已经改变或什么,因为我在完全遵循文档时得到一个解析错误:
X 在 E1..E2;E3
我的尝试:
我最终让它使用更详细的语法:
但是第一个例子对我来说似乎更具可读性并且更不容易出错。为什么它不起作用?
performance - 奥兹/莫扎特以缓慢着称的原因是什么?
我知道这是一个学术项目,但 Oz/Mozart 是如此美丽的语言,我很想将它用于我的宠物项目。
这个名声值得吗?如果是这样:
- 它只是编译器,还是执行?
- 速度问题是实施的核心,还是仅仅因为没有时间解决这些速度问题,或者其他?
oz - 如何在 Oz 中禁用并发?
Oz 最令人讨厌的方面之一是,在开发时,经常调用{Browse X}
从不在浏览器中显示任何内容,即使在编译或执行期间没有报告错误。发生这种情况的原因之一是,如果在某个时候访问了未绑定的标识符。整个执行线程无限期地冻结,我无法追踪问题出在哪里。可能有其他原因为什么{Browse X}
什么都不做,但我不知道。
有没有办法在开发过程中暂时禁用并发支持,以免发生这样的事情?
debugging - Mozart Ozcar 调试器错误
所以我正在学习,我需要在 Mozart 上运行 Ozcar 调试器,我转到 Oz 菜单,首先我选择 feed 缓冲区,然后我选择 Start Debugger,编译器向我显示下一条消息:
然后它假设应该出现一个辅助窗口但没有任何反应!!!!我需要帮助请!!!
Oz 模拟器也向我展示了这个:
我认为 Ozcar 的包装丢失了,我在哪里可以找到它或如何解决这个问题???
exception - Oz 中缺少 else 子句
当我尝试编译这段代码时,Oz 编译器会启动一个异常“Missing Else Clause”,有人能告诉我为什么吗?这是我的代码:
在我看来,这段代码中没有缺少 else 子句!我的函数总是会返回一些东西。
oz - 如何更改 Oz 列表中的元素?
我想交换 oz 列表中的项目。
所以假设我有 L = [1 2 3],我希望它是 L = [1 4 3]。
一个人会怎么做呢?我懂了
以及https://mozart.github.io/mozart-v1/doc-1.4.0/base/list.html上的其他各种可能的功能
但我并不真正理解这些表达式的语法。我对奥兹很陌生。
tail-recursion - 使用列表编写阶乘函数
虽然我相信我已经为我的函数(阶乘)找到了一个合理的算法,但我对它为什么无限循环感到非常困惑。这是我的代码:
function - Mozart Oz 函数什么都不返回,只执行几条指令
问题在标题中,如何创建一个不提供返回值但可以执行多个指令的函数?
例如:
在这种情况下,我想递归调用该函数doStuff
,但我不能,因为它被设置为返回最后一条指令,我只是得到一个错误。但是当我删除{doStuff T2}
它时,它会编译。