www.delorie.com/gnu/docs/guile/guile_468.html   search  
 
Buy GNU books!


Guile Reference Manual

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

39.11.7 Comparison

The procedures in this section are used for comparing strings in different ways. The comparison predicates differ from those in R5RS in that they do not only return #t or #f, but the mismatch index in the case of a true return value.

string-hash and string-hash-ci are for calculating hash values for strings, useful for implementing fast lookup mechanisms.

Scheme Procedure: string-compare s1 s2 proc_lt proc_eq proc_gt [start1 end1 start2 end2]
Scheme Procedure: string-compare-ci s1 s2 proc_lt proc_eq proc_gt [start1 end1 start2 end2]
Apply proc_lt, proc_eq, proc_gt to the mismatch index, depending upon whether s1 is less than, equal to, or greater than s2. The mismatch index is the largest index i such that for every 0 <= j < i, s1[j] = s2[j] - that is, i is the first position that does not match. The character comparison is done case-insensitively.

Scheme Procedure: string= s1 s2 [start1 end1 start2 end2]
Scheme Procedure: string<> s1 s2 [start1 end1 start2 end2]
Scheme Procedure: string< s1 s2 [start1 end1 start2 end2]
Scheme Procedure: string> s1 s2 [start1 end1 start2 end2]
Scheme Procedure: string<= s1 s2 [start1 end1 start2 end2]
Scheme Procedure: string>= s1 s2 [start1 end1 start2 end2]
Compare s1 and s2 and return #f if the predicate fails. Otherwise, the mismatch index is returned (or end1 in the case of string=.

Scheme Procedure: string-ci= s1 s2 [start1 end1 start2 end2]
Scheme Procedure: string-ci<> s1 s2 [start1 end1 start2 end2]
Scheme Procedure: string-ci< s1 s2 [start1 end1 start2 end2]
Scheme Procedure: string-ci> s1 s2 [start1 end1 start2 end2]
Scheme Procedure: string-ci<= s1 s2 [start1 end1 start2 end2]
Scheme Procedure: string-ci>= s1 s2 [start1 end1 start2 end2]
Compare s1 and s2 and return #f if the predicate fails. Otherwise, the mismatch index is returned (or end1 in the case of string=. These are the case-insensitive variants.

Scheme Procedure: string-hash s [bound start end]
Scheme Procedure: string-hash-ci s [bound start end]
Return a hash value of the string s in the range 0 ... bound - 1. string-hash-ci is the case-insensitive variant.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003