scm: Add string-delete.
[mes.git] / module / srfi / srfi-13.mes
index 18a7f650fc1c1060c255d0c586a9e443c7aadab3..caf31a00714a017bf5c9f1c0558d106788bd90c5 100644 (file)
           (loop (cdr rest)
                 (append result
                         (list (list->string (list-head lst (- (length lst) (length rest)))))))))))
+
+(define (string-take s n)
+  (list->string (list-head (string->list s) n)))
+
+(define (string-drop s n)
+  (list->string (list-tail (string->list s) n)))
+
+(define (string-delete pred s)
+  (let ((p (if (procedure? pred) pred
+               (lambda (c) (not (eq? pred c))))))
+    (list->string (filter p (string->list s)))))