- (string-map proc string[1] string[2] ...)procedure
It is an error if proc does not accept as many arguments as there are strings and return a single character.
The string-map procedure applies proc element-wise to the elements of the strings and returns a string of the results, in order. If more than one string is given and not all strings have the same length, string-map terminates when the shortest string runs out. The dynamic order in which proc is applied to the elements of the strings is unspecified. If multiple returns occur from string-map, the values returned by earlier returns are not mutated.
(string-map char-foldcase "AbdEgH") ==> "abdegh" (string-map (lambda (c) (integer->char (+ 1 (char->integer c)))) "HAL") ==> "IBM" (string-map (lambda (c k) ((if (eqv? k #\u) char-upcase char-downcase) c)) "studlycaps xxx" "ululululul") ==> "StUdLyCaPs"