Почему "для 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: унарный знак минус всегда ~
,
-
используется только для двоичного минуса.