?

Log in

No account? Create an account

Ретрокомпьютерное с загадкой - Ваши рубидии уже у кобальта во ртути — LiveJournal

Aug. 31st, 2017

01:11 pm - Ретрокомпьютерное с загадкой

Previous Entry Share Flag Next Entry

Comments:

From:dolovar
Date:September 4th, 2017 05:07 pm (UTC)
(Link)
Подсмотрел решение на dreamwidth.
В принципе, все понятно, кроме +1 между 10 и 13.
(исправлено)
Не туда смотрел. По выходу из until имеем 11, которого не видно. То есть все-равно не понятно, почему +1.

Edited at 2017-09-04 05:13 pm (UTC)
(Reply) (Parent) (Thread)
[User Picture]
From:spamsink
Date:September 5th, 2017 06:08 am (UTC)
(Link)
Для того, чтобы узнать, что "A step B until C" кончилось, нужно в очередной раз инкрементировать текущее значение переменной цикла на B, и убедившись, что оно превышает С (или, наоборот, меньше С, если шаг был отрицательным), перейти к следующему элементу итератора или завершить цикл.

Фактически, "А step B until C" - это "синтаксический сахар" для
A, i + B while (if B >= 0 then i <= C else i >= C)


(Reply) (Parent) (Thread)