0

repeat接受一个数字和一个字符串,并返回重复n次数的字符串,用空格分隔。

;; repeat: number string -> string
(define (repeat n str)
  (replicate n str))

(repeat 2 "home")

给我:

"homehome"

我将如何添加一个空间,以便它可以给我“家”?

4

2 回答 2

2

str在字符串末尾添加一个空格,然后将其传递给replicate

(replicate n (string-append str " "))

如果你想像@Tobia建议的那样摆脱它,那最后会留下一个额外的空间:

(string-trim (replicate n (string-append str " ")))
于 2013-02-24T00:52:58.423 回答
1

Racket 有一个内置函数string-join为此,所以在普通的 Racket 中,这将是

> (string-join (build-list 2 (lambda (i) "home")))
"home home"
于 2013-02-24T09:38:34.607 回答