From 8f4b64fda7cb626ba3e550b4e18177aa3a45e3ad Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 19 May 2017 00:23:13 +0200 Subject: [PATCH] mes: Add string-suffix? * module/mes/scm.mes (string-prefix?): Refactor. (string-suffix?): New function. --- module/mes/scm.mes | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/module/mes/scm.mes b/module/mes/scm.mes index 04019499..6e58bfff 100644 --- a/module/mes/scm.mes +++ b/module/mes/scm.mes @@ -223,9 +223,18 @@ (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)))