【发布时间】:2018-02-13 21:18:40
【问题描述】:
我正在尝试编写一个递归函数来测试输入的整数中的数字是否按升序排列。当我运行我的代码时,我收到了一个违反合同的错误。
(define (rising-numbers n)
(if(zero? (truncate n))
(modulo n 10)
(> (modulo n 10) (rising-numbers (quotient n 10)))))
(rising-numbers 123)
这是我得到的错误:
>: contract violation
expected: real?
given: #t
argument position: 2nd
other arguments...:
【问题讨论】:
-
这是一个引发相同错误的小表达式:
(> 2 #true)。希望这会有所帮助。
标签: algorithm scheme racket r5rs