我想使用Schemenumber->string
和string->list
函数从输入数字轻松创建数字列表。
这将代码创建我想要的数字列表,但是有一个问题:#\
将在每个数字之前:
(define input 1234)
(define (digit-list input)
(string->list (number->string input))
)
运行digit-list
于input
收益率:
(#\1 #\2 #\3 #\4 )
如何在没有#\
每个数字前面的情况下生成此数字列表?
前面#\
是字符的方案语法。您可以通过先将每个字符转换为数字string
,然后使用来将其转换为数字string->number
:
(number? (string->number (string #\1)))
=> #t
您可以通过compose
这两个过程将map
它们添加到列表中,如下所示:
(map (compose string->number string)
(string->list (number->string 1234)))
=> '(1 2 3 4)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句