Каково объяснение Упражнения 1.6 в SICP?

В приближении первого порядка метод (в ОО стиле C ++) - это другое слово для функции-члена, которая является частью класса.

В таких языках, как C / C ++, вы можете иметь функции, которые не являются членами класса; Вы не вызываете функцию, не связанную с классом, методом.

58
задан Bill the Lizard 15 September 2012 в 23:29
поделиться

2 ответа

new-if is a function. When a function is called, what's the first thing that Scheme does with the argument list? It evaluates all the arguments.

77
ответ дан 24 November 2019 в 18:47
поделиться

Прежде всего вы должны понять разницу между оценкой аппликативного порядка и нормальным порядком. Lisp использует аппликативный порядок, но условные выражения оцениваются не как обычные функции ( sicp, глава 1.1.6 ):

(if <predicate> <consequent> <alternative>)

Чтобы оценить выражение if, интерпретатор начинает с вычисления часть выражения. Если <предикат> оценивается как истинное значение, интерпретатор затем оценивает и возвращает его значение. В противном случае он оценивает <альтернативный> и возвращает его значение.

23
ответ дан 24 November 2019 в 18:47
поделиться
Другие вопросы по тегам:

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