Что означает «отложенная замена»? - PullRequest
3 голосов
/ 08 ноября 2011

Я пишу простой парсер / интерпретатор для языка . В инструкциях постоянно упоминается «отложенная замена», как в

Расширение языковой функции fun, описанной так, чтобы функционировать может принять список из нуля или более аргументов вместо одного. Все Аргументы функции должны оцениваться с той же отсрочкой замены.

Мне не нужна помощь в реализации этого, я просто не понимаю, что означает «отложенное замещение». Есть мысли?

1 Ответ

4 голосов
/ 08 ноября 2011

Отсроченная замена относится к практике замены значений переменных на самом последнем возможном шаге.Поступая таким образом, вы откладываете его замену!

Вот пример, который может помочь вам понять, что это значит: Предположим, у вас есть следующая функция: f (x) = 500 + 300 + 2x + 45x

Допустим, что x = 1 Если вы хотите отложить подстановку x, вы, вероятно, выполните:

  1. f (x) = 800 + 2x + 45x
  2. f (x) = 800 + 47x
  3. f (1) = 800 + 47 (1)

Обратите внимание, что мы заменили значения x на последнем возможном шаге, после упрощения всего, что не является переменной в этой функции.

...