2017-11-09 3 views
0

함수 안에리스트 안에있는 구조체의 번호를 얻으려고합니다. 목록이 비어 있으면 함수는 + inf.0을 출력해야합니다.비어 있습니까? Racket이 실행되는 것을 막지 않습니다.

그러나, (function (list empty))와 같이 빈 목록을 입력하면 + inf.0 부분이 무시되고 else 표현식이 실행되어 어쨌든 struct-xyz가 빈 목록을 가져 오는 오류가 발생합니다 처음에는 빈 목록을 허용하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

(define (function datalist)) 
(cond 
[(empty? datalist) +inf.0] 
[else(struct-xyz (first datalist))])) 

이것은 모두 초기 학생 교습 언어입니다.

+0

나는 정의에 오타가 있다고 가정하고'(define (function datalist) ...) '를 의미한다. 그게 맞습니까? – jacobm

+0

예, 오타입니다. 죄송합니다. – JoL

답변

1

(function (list empty))이 아닌 (function empty)으로 전화해야합니다. (function (list empty))이 아니고이 아닌 목록에 함수를 호출하면 요소 하나가 비어 있습니다 (비어있는 다른 목록).

관련 문제