Оператор присваивания: напоминание
Оператор = работает просто и честно:
«Беру значение справа от себя и кладу его в переменную слева от себя».
Пример:
Здесь всё предсказуемо: сначала вычисляется правая часть, потом результат присваивается левой.
Переменная изменяет саму себя
Теперь представим, что слева и справа — одна и та же переменная:
Это не ошибка и не парадокс. Это — саморедактирование.
Переменная N участвует в выражении в двух ролях:
- справа — как источник текущего значения («я сейчас 10»);
- слева — как получатель нового значения («теперь я стану 11»).
Такая операция называется инкрементом — увеличением на единицу.
Другие формы изменения переменной
Аналогично можно изменять переменную другими способами:
Во всех случаях сначала вычисляется правая часть, затем результат присваивается переменной слева — даже если это та же самая переменная.
Изменение через функции
Переменную можно «редактировать» и с помощью функций:
Здесь тоже действует то же правило: сначала функция вычисляет результат, потом он присваивается переменной. Переменная «переписывает» саму себя на основе своего же предыдущего значения.
Почему в Idyllium нет ++ и --?
Во многих языках (C++, Java, JavaScript) существуют сокращения:
Idyllium намеренно от них отказывается. Почему?
- Это синтаксический сахар, который не добавляет новой логики;
- Он маскирует суть операции — присваивание;
- Он порождает сложности (в чём разница между
++iиi++?); - Детям важнее понять "как работает", а не "как написать короче".
В Idyllium всё явно: если вы хотите изменить переменную — напишите это честно: N = N + 1.
Практическое применение
Саморедактирование переменной — основа счётчиков, накопителей и ограничителей:
Такие паттерны встречаются везде — от игр до баз данных.