В чем причина необходимости объявлять временные переменные, а не привязки?

Вот моя реализация набора мощности (хотя я тестировал его только с использованием стандартного языка Racket, а не Beginning Student):

(define (powerset lst)
  (if (null? lst)
      '(())
      (append-map (lambda (x)
                    (list x (cons (car lst) x)))
                  (powerset (cdr lst)))))

(Благодаря samth , чтобы напомнить мне, что flatmap называется append-map в Racket!) [/ ​​g2]

4
задан Marko Grdinic 5 March 2019 в 16:45
поделиться

1 ответ

Я не знаю первоначальной причины, но, используя каждую неделю Smalltalk, я вижу множество преимуществ.

  • Это делает код более читабельным. Когда мы видим переменную, мы можем узнать, является ли она временной или переменной экземпляра, посмотрев на объявленные временные переменные.
  • Он определяет область действия переменной (поскольку, например, он может быть только в области видимости блока).
  • . Он позволяет лучше завершать код. Реализация компилятора.

0
ответ дан Cyril Ferlicot 5 March 2019 в 16:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: