mes: Add string-map.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 29 Apr 2018 16:26:46 +0000 (18:26 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sun, 29 Apr 2018 16:26:46 +0000 (18:26 +0200)
* module/srfi/srfi-13.mes (string-map): New function.
* tests/srfi-13.test ("string-map"): Test it.

module/srfi/srfi-13.mes
tests/srfi-13.test

index 85db85e9b7a69ea0927581456e0cca89efd0cb4b..196e8f3944e093e23460e7df5430f47dccf83726 100644 (file)
 (define (string-trim-both string . pred)
   ((compose string-trim string-trim-right) string))
 
+(define (string-map f string)
+  (list->string (map f (string->list string))))
+
index f9394db8a823c7481df313cc53a66fc47e97f563..29035ccd569f9f722143f57422cee6f2c601fac2 100755 (executable)
@@ -77,4 +77,7 @@ exit $?
 (pass-if-equal "string-trim-both" "foo"
              (string-trim-both "  foo  "))
 
+(pass-if-equal "string-map" "fuubar"
+             (string-map (lambda (c) (if (eq? c #\o) #\u c)) "foobar"))
+
 (result 'report)