在球拍中,如何将字符串组合到列表中以创建一个句子

时间:2019-05-29 10:42:59

标签: list racket

基本上,我想在列表中组合字符串值。 例如我想要 (加入(列表“ cat”,“是”,“饿了”))执行(“ cat饿了”)

(define(join l))

2 个答案:

答案 0 :(得分:0)

在球拍中有一个专门用于此的程序,它称为string-join

(string-join '("cat" "is" "hungry"))
=> "cat is hungry"

这是另一种选择,使用string-append。它的效率较低,但避免了编写显式递归的代码:

(define (join lst)
  (foldl (lambda (s acc) (string-append acc " " s))
         (first lst)
         (rest  lst)))

(join '("cat" "is" "hungry"))
=> "cat is hungry"

答案 1 :(得分:0)

使用string-append*

请参见https://docs.racket-lang.org/reference/strings.html?q=string-append *#%28def ._%28%28lib._racket%2Fstring..rkt%29._string-append%2A%29%29