История изменений
Исправление wandrien, (текущая версия) :
А еще в дополнение к сказанному выше, хвостовые условия поднимают вопрос, а что мы вообще можем положить перед таким условием. Как насчёт такого? И как такое читать?
while i < size do
// бла бла на 10 строк
...
...
...
end when !foo() & bar();
То есть левую часть придётся ограничить узким набором операторов. Например, только выходом из цикла.
Но как только мы это сделаем, сразу появятся те, кто спросит: а почему нельзя написать вот так?
x = ptr^.x when ptr != NULL;
Исходная версия wandrien, :
А еще в дополнение к сказанному выше, хвостовые условия поднимают вопрос, а что мы вообще можем положить перед таким условием. Как насчёт такого? И как такое читать?
while i < size do
// бла бла на 10 строк
...
...
...
end when !foo() & bar();
То есть левую часть придётся ограничить узким набором операторов. Например, выходам из цикла.
Но как только мы это сделаем, сразу появятся те, кто спросит: а почему нельзя написать вот так?
x = ptr^.x when ptr != NULL;