当我使用racket定义一个找到两个整数的gcd的函数时,
(define (gcd a b)
(cond
[(> a b) (gcd b a-b)]
[(< a b) (gcd a b-a)]
[else a]))
但是,
a-b:模块中的未绑定标识符:a-b
我不知道该怎么办。 为什么会这样?
答案 0 :(得分:1)
由于Racket无法识别中缀操作,因此将操作更改为前缀表达式可以很好地进行:)
(define (gcd a b)
(cond
[(> a b) (gcd b (- a b))]
[(< a b) (gcd a (- b a))]
[else a]))