Как сломать ал oop в Максима - PullRequest
2 голосов
/ 14 июля 2020

Я новичок в Maxima. Я пытаюсь написать al oop в том смысле, что я проверяю, выполнено ли какое-то условие, а затем выхожу из l oop.

cp:for i:1 step 1 thru 10 do
block(if(i>6) then break()
else
print(i,"is less than 6"));

Я хочу вывод:
1 меньше 6
2 меньше 6
3 меньше 6
4 меньше 6
5 меньше 6
6 меньше 6

Но когда я Я запускаю приведенный выше код:

после того, как напечатал 6 меньше 6, он предлагает Ввод точки останова Maxima. Введите "выход;" для возобновления.
и после набора exit; он снова покажет приведенное выше сообщение

Я хочу, чтобы код был полностью выведен из этого l oop вместо того, чтобы запрашивать выход;

Заранее спасибо ..

1 Ответ

3 голосов
/ 14 июля 2020

Попробуйте return(i) вместо break(). Кроме того, return возвращается только из блока, который его включает, поэтому вам нужно удалить block(...) в вашем примере (в любом случае он не нужен). Думаю, работает:

cp: for i:1 step 1 thru 10 
      do if(i>6) then return(i) else print(i,"is less than 6");
...