Racket 检查数字是否为负数,并在球拍中使用绝对值

Racket 检查数字是否为负数,并在球拍中使用绝对值,racket,absolute-value,Racket,Absolute Value,我想检查x是否为负,如果为负,得到它的绝对值。否则,什么也不做。 这是我到目前为止所做的尝试 (when (< x 0) (set! x (abs x)) ) 这两项都给出了“合同违约。预期:真实?预期:#f” 我做错了什么 编辑:我试过了,我想我已经取得了进步 (cond [(< x 0) (set! y(abs x))] [else (print "input error")] ) (续) [(

我想检查x是否为负,如果为负,得到它的绝对值。否则,什么也不做。 这是我到目前为止所做的尝试

(when (< x 0)
  (set! x (abs x))
  )
这两项都给出了“合同违约。预期:真实?预期:#f”

我做错了什么

编辑:我试过了,我想我已经取得了进步

(cond
  [(< x 0) (set! y(abs x))]
  [else (print "input error")]
  )
(续)
[(
为什么不只写

(set!x(abs x))


??它适用于负值和正值。

首先,您需要将
x
设置为
x
的绝对值。在编辑的代码中,使用
y
表示
x
的绝对值。现在是哪一个?同一个变量还是另一个?如果你写“(cond [(< x 0) (set! y(abs x))] [else (print "input error")] )