SketchyLISP Reference |
Copyright (C) 2007 Nils M Holm |
<<[string-ci>?] | [Index] | [string-length]>> |
Conformance: R5RS Scheme
Purpose: Case-insensitively test whether a sequence of strings is in lexically non-ascending order.
Arguments:
X - string
Y... - strings
Implementation:
(define string-ci>=? (letrec ((ci-ge? (lambda (x y) (cond ((null? x) (null? y)) ((null? y) #t) ((char-ci<? (car x) (car y)) #f) ((char-ci>? (car x) (car y)) #t) (else (ci-ge? (cdr x) (cdr y))))))) (predicate-iterator (lambda (x y) (ci-ge? (string->list x) (string->list y))))))
Example:
(string-ci>=? "XYZ" "xyz" "xXx") => #t
See also:
string>=?,
string-ci<?,
string-ci=?,
string-ci>?,
string-ci<=?,
char-ci>=?,
equal?.
<<[string-ci>?] | [Index] | [string-length]>> |