如何在DrRacket中将字符串列表转换为字符串? 例如
(列出“ c”,“ o”,“ k”,“ e”)为“可乐”
答案 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"