在DrRacket中将字符串列表转换为字符串

时间:2019-10-27 04:39:39

标签: racket

如何在DrRacket中将字符串列表转换为字符串? 例如

(列出“ c”,“ o”,“ k”,“ e”)为“可乐”

2 个答案:

答案 0 :(得分:2)

如果使用的是字符列表,请尝试(list->string lst)

检查文档中的list->string here

否则,如果您有字符串列表,请尝试使用string-append的递归函数。

(define (lst_to_str lst)
  (cond
   [(empty? lst) ""]
   [else (string-append (first lst) (lst_to_str (rest lst)))]))

答案 1 :(得分:0)

添加第二个答案以说明实现此目的的更多抽象方法。

使用foldr是对first answer中提供的递归解决方案进行抽象的自然方法。

> (foldr string-append "" (list "c" "o" "k" "e"))
"coke"

您还可以使用apply,因为string-append可以接受任意多个参数:

> (apply string-append (list "c" "o" "k" "e"))
"coke"

如果您使用一种学生语言,则可以使用方便的implode

> (implode (list "c" "o" "k" "e"))
"coke"