Na przykład mam (list "a" "1" "b" "2" "c" "3")
.Jak zamienić listę ciągów w jeden ciąg w schemacie?
Teraz chcę zmienić tę listę w jedną "a1b2c3"
.
Jak to zrobić?
Dziękuję.
Na przykład mam (list "a" "1" "b" "2" "c" "3")
.Jak zamienić listę ciągów w jeden ciąg w schemacie?
Teraz chcę zmienić tę listę w jedną "a1b2c3"
.
Jak to zrobić?
Dziękuję.
lub (string-append* "" (list "a" "1" "b" "2" "c" "3"))
powinien działać. Zobacz: http://docs.racket-lang.org/reference/strings.html
Jeśli chciał procedurę, aby to zrobić można po prostu napisać (define (strings->string sts) (apply string-append sts))
Nie wyważać otwartych drzwi! w rakieta, istnieje jedną procedurę specjalnie do tego celu, a jego nazywa string-join
:
(string-join '("a" "1" "b" "2" "c" "3") "")
=> "a1b2c3"
Powołując się documentation:
(string-join strs
[sep
#:before-first before-first
#:before-last before-last
#:after-last after-last]) → string?
strs : (listof string?)
sep : string? = " "
before-first : string? = ""
before-last : string? = sep
after-last : string? = ""
Dołącza sznurki
strs
wkładaniasep
pomiędzy każdą parą ciągów Strs.before-last
,before-first
iafter-last
są analogiczne do wejśćadd-between
: określają separator alternatywny między ostatnimi dwoma ciągami, łańcuchem prefiksu i łańcuchem sufiksu.
Deweloper: czy chcesz skomentować? –
Jest to również realizowane w Guile. – musarithmia