Scheme:数字到字符串,字符串到列表

时间:2018-03-19 01:43:26

标签: scheme racket

我希望使用Scheme的number->stringstring->list函数轻松创建输入数字的数字列表。

这将代码创建我想要的数字列表,但有一个问题:#\将位于每个数字之前:

(define input 1234)

(define (digit-list input)
    (string->list (number->string input))
)

digit-list上运行input会产生:

(#\1  #\2  #\3  #\4 )

如何在每个数字前面没有#\的情况下生成此数字列表?

1 个答案:

答案 0 :(得分:2)

前面的#\是字符的方案语法。您可以先将每个字符转换为数字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)