练习 2.1
(define (make-rat n d) (let ((g (gcd n d))) (if (and (< d 0) (> g 0)) (cons (/ (- n) g) (/ (- d) g)) (cons (/ n g) (/ d g))))) 1 ]=> (print-rat (make-rat 6 -7)) -6/7 1 ]=> (print-rat (make-rat -6 -7)) 6/7
练习 2.1
(define (make-rat n d) (let ((g (gcd n d))) (if (and (< d 0) (> g 0)) (cons (/ (- n) g) (/ (- d) g)) (cons (/ n g) (/ d g))))) 1 ]=> (print-rat (make-rat 6 -7)) -6/7 1 ]=> (print-rat (make-rat -6 -7)) 6/7