我試圖找出一個排序列表之間的兩個數字相差最小,所以我WIRTE無法弄清楚什麼是錯的「排序」
(define (smallest-dif lst)
(cond
[(empty? lst) empty]
[(empty? (rest lst)) (smallest-dif (rest lst))]
[else (first (sort (cons (-(second lst) (first lst)) (smallest-dif (rest lst))) <))]))
我的例子是:(最小-DIF '(5 500 505 600 650 10000)) 但drracket告訴我這樣:排序:違反合同 預計:列表? 給出:'(50.9350)
我不知道我的代碼有什麼問題。如果我拿出「第一」,程序可以正常運行。 任何人都可以幫助我嗎?謝謝。
Aww,沒想到這一點。非常感謝。 – user2185071