为什么“在E..E2中没有X; E3可以”在Oz中工作?

时间:2014-04-14 09:50:03

标签: oz mozart

我正在使用Mozart 2.0.0,并且我正在关注这些文档:http://mozart.github.io/mozart-v1/doc-1.4.0/loop/node1.html#chapter.official

我猜测循环语法已经改变了什么,因为我在完全遵循文档时遇到了解析错误:

  

E1中的X ..E2; E3

我的尝试:

for X in 5..1;-1 do
   {Browse X}
end

我最终使用了更详细的语法:

for X in ({Length L};X > 0;X - 1) do
   {Browse X}
end

但第一个例子似乎更具可读性,更不容易出错。为什么它不起作用?

1 个答案:

答案 0 :(得分:1)

我没有使用2.0.0进行测试,但是在1.4.0中,如果您将-替换为~,则无效。

它只是另一种不寻常的Oz语法:一元减号总是~

-仅用于二进制减号。