如何在方案中将字符串转换为整数列表?

时间:2019-04-06 18:09:17

标签: scheme racket

如何将数字字符串转换为整数列表?我希望将“ 1234”转换为列表1 2 3 4

1 个答案:

答案 0 :(得分:3)

您可以使用string->list将字符串转换为字符列表。例如

(string->list "1234") ; ==> (#\1 #\2 #\3 #\4)

您可以使用char->integer将char转换为ascii值。例如。

(char->integer #\1) ; ==> 49

#\0 ... #\9的Ascii值按升序排列,因此您可以减去以获得数字值:

(- (char->integer #\1) 48) ; ==> 1 

创建一个将这些与map结合使用的过程,一切顺利。

(define (number-string->number-list str)
  (map (lambda (ch) 
         <??>)
       (string->list str)))

(number-string->number-list "1234") ; ==> (1 2 3 4)