Почему "для X в E1..E2;E3 не работает" в Оз?

Я использую Моцарт 2.0.0 и следую этим документам: http://mozart.github.io/mozart-v1/doc-1.4.0/loop/node1.html

Я предполагаю, что синтаксис цикла изменился или что-то, потому что я получаю ошибку синтаксического анализа при точном следовании документации:

X в E1..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 ответ

Решение

Я не тестировал с 2.0.0, но в 1.4.0 работает, если заменить - с ~,

Это просто еще один необычный синтаксис Oz: унарный знак минус всегда ~,

- используется только для двоичного минуса.

Другие вопросы по тегам