代码之家  ›  专栏  ›  技术社区  ›  haxtar

方案:数字到字符串,字符串到列表

  •  2
  • haxtar  · 技术社区  · 8 年前

    我想使用Scheme的 number->string string->list 功能。

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

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

    跑步 digit-list 在…上 input 收益率:

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

    如果没有 #\ 在每个数字之前?

    1 回复  |  直到 8 年前
        1
  •  5
  •   assefamaru    8 年前

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