내가 (길이 n 균형 괄호의 모든 쌍을 표시합니다)r5rs : 거기에 어떤 아닙니다 절차 오류
(define (combine-list l r)
(append l (cons r '())))
;(combine-list '(1 2 3) '(4 4))
(define(bps n)
(bps-iter '() (/ n 2) 0 0))
(define (bps-iter lst n open close) (;(display open) (display close) (display "\n")
(cond ((eq? n close) (display lst))
(else ((if (> open close)
(bps-iter (combine-list lst 1) n open (+ 1 close)))
(if (< open n)
(bps-iter (combine-list lst 0) n (+ open 1) close)))
)
)))
(bps 4)
나온 코드 그리고
application: not a procedure;
expected a procedure that can be applied to arguments
given: #<void>
arguments...: [none]
로 밝혀졌다 문제가 종료 (eq? n close)하고 'else'로 돌아가서 다른 괄호 집합을 찾았습니까?
너무 많은 괄호가 있기 때문에 거의 항상 그렇습니다. 너는 두 곳에서 너무 많아. – molbdnilo