repeat
接受一个数字和一个字符串,并返回重复n
次数的字符串,用空格分隔。
;; repeat: number string -> string
(define (repeat n str)
(replicate n str))
(repeat 2 "home")
给我:
"homehome"
我将如何添加一个空间,以便它可以给我“家”?
str
在字符串末尾添加一个空格,然后将其传递给replicate
:
(replicate n (string-append str " "))
如果你想像@Tobia建议的那样摆脱它,那最后会留下一个额外的空间:
(string-trim (replicate n (string-append str " ")))
Racket 有一个内置函数string-join为此,所以在普通的 Racket 中,这将是
> (string-join (build-list 2 (lambda (i) "home")))
"home home"