Документация
Уроки Открыть IDE
На главную
Урок 9

Инкремент и декремент

Как переменная может изменять саму себя — без магии

Оператор присваивания: напоминание

Оператор = работает просто и честно:

«Беру значение справа от себя и кладу его в переменную слева от себя».

Пример:

Здесь всё предсказуемо: сначала вычисляется правая часть, потом результат присваивается левой.

Переменная изменяет саму себя

Теперь представим, что слева и справа — одна и та же переменная:

Это не ошибка и не парадокс. Это — саморедактирование.

Переменная N участвует в выражении в двух ролях:

  • справа — как источник текущего значения («я сейчас 10»);
  • слева — как получатель нового значения («теперь я стану 11»).

Такая операция называется инкрементом — увеличением на единицу.

Другие формы изменения переменной

Аналогично можно изменять переменную другими способами:

Во всех случаях сначала вычисляется правая часть, затем результат присваивается переменной слева — даже если это та же самая переменная.

Изменение через функции

Переменную можно «редактировать» и с помощью функций:

Здесь тоже действует то же правило: сначала функция вычисляет результат, потом он присваивается переменной. Переменная «переписывает» саму себя на основе своего же предыдущего значения.

Почему в Idyllium нет ++ и --?

Во многих языках (C++, Java, JavaScript) существуют сокращения:

Idyllium намеренно от них отказывается. Почему?

  • Это синтаксический сахар, который не добавляет новой логики;
  • Он маскирует суть операции — присваивание;
  • Он порождает сложности (в чём разница между ++i и i++?);
  • Детям важнее понять "как работает", а не "как написать короче".

В Idyllium всё явно: если вы хотите изменить переменную — напишите это честно: N = N + 1.

Практическое применение

Саморедактирование переменной — основа счётчиков, накопителей и ограничителей:

Такие паттерны встречаются везде — от игр до баз данных.