Scheme 如何使谓词起作用?计划中
我在尝试做谓词函数 数据类型定义Scheme 如何使谓词起作用?计划中,scheme,racket,Scheme,Racket,我在尝试做谓词函数 数据类型定义 (define-datatype expression expression? (const-exp (num number?)) (var-exp (var symbol?)) (zero?-exp (exp1 expression?)) (diff-exp (exp1 expression?) (exp2 expression?))) 如果参数为#2(结构:const exp 7),则打印#t 如果参数为#2(结构:
(define-datatype expression expression?
(const-exp (num number?))
(var-exp (var symbol?))
(zero?-exp (exp1 expression?))
(diff-exp (exp1 expression?)
(exp2 expression?)))
如果参数为#2(结构:const exp 7),则打印#t
如果参数为#2(结构:var exp x),则打印#f
如果您能帮助我,我将不胜荣幸,所以我猜您正在学习,可能会用作您的环境 如果这是真的,您可能应该在此处使用: 然后
定义数据类型
在Scheme中不存在。@SanGyeolKang如果这对您有效,请确保。
(define const-exp? ... )
(define (const-exp? e)
(cases expression e
(const-exp (num) #t)
(else #f)))
> (const-exp? (const-exp 7))
#t
> (const-exp? (var-exp 'x))
#f