diff --git a/module/srfi/srfi-13.mes b/module/srfi/srfi-13.mes index 85db85e9..196e8f39 100644 --- a/module/srfi/srfi-13.mes +++ b/module/srfi/srfi-13.mes @@ -154,3 +154,6 @@ (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)))) + diff --git a/tests/srfi-13.test b/tests/srfi-13.test index f9394db8..29035ccd 100755 --- a/tests/srfi-13.test +++ b/tests/srfi-13.test @@ -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)