Racket 空的不停止球拍的奔跑表情
我试图让函数从列表中的结构中获取一个数字。当列表为空时,函数应输出+inf.0 但是,当我像这样输入一个空列表:function list empty时,+inf.0部分被忽略,else表达式被执行,导致struct xyz获得一个空列表或首先不允许空列表的错误。我做错了什么Racket 空的不停止球拍的奔跑表情,racket,conditional-statements,empty-list,Racket,Conditional Statements,Empty List,我试图让函数从列表中的结构中获取一个数字。当列表为空时,函数应输出+inf.0 但是,当我像这样输入一个空列表:function list empty时,+inf.0部分被忽略,else表达式被执行,导致struct xyz获得一个空列表或首先不允许空列表的错误。我做错了什么 (define (function datalist)) (cond [(empty? datalist) +inf.0] [else(struct-xyz (first datalist))])) 这都是在开始
(define (function datalist))
(cond
[(empty? datalist) +inf.0]
[else(struct-xyz (first datalist))]))
这都是在开始的学生教学语言中。您应该调用函数empty,而不是函数list empty。函数list empty是在一个非空的列表上调用函数,它包含一个元素,另一个列表是空的。我假设您的定义中有一个输入错误,您的意思是定义函数datalist。。。。是吗?是的,那是个打字错误,对不起!