LINUX.ORG.RU

История изменений

Исправление 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;