"application: not a procedure" 一切正常,除了我尝试打印 #t
"application: not a procedure" Everything works except my attempt to print a #t
我正在尝试打印基本的#t。 #f 确实打印了,但是当我尝试打印 #t 时,我就收到了一个错误。当您得到一个空列表时会发生这种情况,通常是在 leave/child 节点上。
程序检查输入是否为二叉树。
Arbol 的意思是树。
(define (arbol-binario? a)
(if (list? a)
(if (null? a)
#t
(if (= (length a) 3)
((arbol-binario? (second a))
(arbol-binario? (cdr (cdr a))))
#f))
#f))
问题是:
((arbol-binario? (second a))
(arbol-binario? (cdr (cdr a))))
如果 (arbol-binario? (second a))
的计算结果为 #t
那么
应用程序是:(#t (arbol-binario? (cdr (cdr a)))
,你会得到一个错误。
更新
尝试
(and (arbol-binario? (second a))
(arbol-binario? (cdr (cdr a))))
我正在尝试打印基本的#t。 #f 确实打印了,但是当我尝试打印 #t 时,我就收到了一个错误。当您得到一个空列表时会发生这种情况,通常是在 leave/child 节点上。
程序检查输入是否为二叉树。
Arbol 的意思是树。
(define (arbol-binario? a)
(if (list? a)
(if (null? a)
#t
(if (= (length a) 3)
((arbol-binario? (second a))
(arbol-binario? (cdr (cdr a))))
#f))
#f))
问题是:
((arbol-binario? (second a))
(arbol-binario? (cdr (cdr a))))
如果 (arbol-binario? (second a))
的计算结果为 #t
那么
应用程序是:(#t (arbol-binario? (cdr (cdr a)))
,你会得到一个错误。
更新
尝试
(and (arbol-binario? (second a))
(arbol-binario? (cdr (cdr a))))