尝试 return 方案中的前 2 位数字
Trying to return first 2 digits in scheme
我正在尝试测试 i 是否小于 3 位数,如果它是 return,否则,递归调用 first2 和 i/10 直到它小于 2 位数。根据我的逻辑,似乎 12345 应该 return 12.345,我可以想出另一种方法来截断小数点,但它只是保持 returning 100。这是为什么?我一直在寻找这种逻辑的例子,看起来这应该可行。对我来说完全是无稽之谈。
(define(first2 i)
(cond(< i 100)
(i)
(first2 (/ i 10))))
> (first2 12345)
100
将其更改为 if 并查找错误,发现 i return 值周围不能有 (),因为它不是过程。
(define(first2 i)
(if(< i 100)
i
(first2 (/ i 10))))
> (first2 12345)
12
我正在尝试测试 i 是否小于 3 位数,如果它是 return,否则,递归调用 first2 和 i/10 直到它小于 2 位数。根据我的逻辑,似乎 12345 应该 return 12.345,我可以想出另一种方法来截断小数点,但它只是保持 returning 100。这是为什么?我一直在寻找这种逻辑的例子,看起来这应该可行。对我来说完全是无稽之谈。
(define(first2 i)
(cond(< i 100)
(i)
(first2 (/ i 10))))
> (first2 12345)
100
将其更改为 if 并查找错误,发现 i return 值周围不能有 (),因为它不是过程。
(define(first2 i)
(if(< i 100)
i
(first2 (/ i 10))))
> (first2 12345)
12