Advertisement
Guest User

Untitled

a guest
Jun 5th, 2019
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. Вот этот кусок кода работает:
  2. #lang racket
  3. (define (parity x l)
  4. (define (check-parity y)
  5. (not (xor (= (remainder x 2) 0)
  6. (= (remainder y 2) 0))))
  7. (cond ((null? l) '())
  8. ((check-parity (car l))
  9. (cons (car l) (parity x (cdr l))))
  10. (else (parity x (cdr l)))))
  11.  
  12. (parity 1 (list 2 3 4 5 6 7 8 9))
  13.  
  14. А вот этот выдает ебанутую ошибку:
  15.  
  16. #lang racket
  17. (define (parity x . l)
  18. (define (check-parity y)
  19. (not (xor (= (remainder x 2) 0)
  20. (= (remainder y 2) 0))))
  21. (cond ((null? l) '())
  22. ((check-parity (car l))
  23. (cons (car l) (parity x (cdr l))))
  24. (else (parity x (cdr l)))))
  25.  
  26. (parity 1 2 3 4 5 6 7 8 9)
  27. Текст ошибки:
  28. remainder: contract violation
  29. expected: integer?
  30. given: '(3 4 5 6 7 8 9)
  31. argument position: 1st
  32. other arguments...:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement