меня просят интерпретировать следующий код:схема функции фильтра код означает
(define (filter p l)
(cond
((null? l) ’())
(#t (let ((result (filter p (cdr l))))
(if (p (car l))
(cons (car l) result)
result)))))
и решение «filter
возвращает элементы e
в l
где (p e)
является #t
» , но я не совсем уверен, что третий line делает. это #t
, говорящее, что мы всегда принимаем это условие? Также как «пусть» работает в этом случае?
использовать стандартный отступ - разбить свои выражения и поместить каждое подвыражение в свою линию, чтобы оно стало ясным. - Случай #t: да, это правда, поэтому он преуспевает, и предложение выполняется - если не было выбрано положение выше него. –
@WillNess спасибо! что сделало его более ясным. – greenteam
@WillNess Если это так, при редактировании вопроса, в дополнение к возврату кода, который должен быть неверно отформатирован, может также иметь смысл отредактировать его, чтобы также спросить о правильном форматировании, чтобы ответ имел смысл. –