mes: Add string-suffix?
authorJan Nieuwenhuizen <janneke@gnu.org>
Thu, 18 May 2017 22:23:13 +0000 (00:23 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Thu, 18 May 2017 22:23:13 +0000 (00:23 +0200)
* module/mes/scm.mes (string-prefix?): Refactor.
  (string-suffix?): New function.

module/mes/scm.mes

index 040194995b59a8417351d124389d1a2fc16012c2..6e58bfff4a2b5a16857109eeda68f265465348cd 100644 (file)
                       (list-head lst (- end start))))))
 
 (define (string-prefix? prefix string)
+  (let ((length (string-length string))
+        (prefix-length (string-length prefix)))
   (and
-   (>= (string-length string) (string-length prefix))
-   (equal? (substring string 0 (string-length prefix)) prefix)))
+   (>= length prefix-length)
+   (equal? (substring string 0 prefix-length) prefix))))
+
+(define (string-suffix? suffix string)
+  (let ((length (string-length string))
+        (suffix-length (string-length suffix)))
+    (and
+     (>= length suffix-length)
+     (equal? (substring string (- length suffix-length)) suffix))))
 
 (define (string->number s . rest)
   (let* ((radix (if (null? rest) 10 (car rest)))