Warning: This is the manual of the legacy Guile 2.2 series. You may want to read the manual of the current stable series instead.

Next: , Previous: , Up: Strings   [Contents][Index]


6.6.5.2 String Predicates

The following procedures can be used to check whether a given string fulfills some specified property.

Scheme Procedure: string? obj
C Function: scm_string_p (obj)

Return #t if obj is a string, else #f.

C Function: int scm_is_string (SCM obj)

Returns 1 if obj is a string, 0 otherwise.

Scheme Procedure: string-null? str
C Function: scm_string_null_p (str)

Return #t if str’s length is zero, and #f otherwise.

(string-null? "")  ⇒ #t
y                    ⇒ "foo"
(string-null? y)     ⇒ #f
Scheme Procedure: string-any char_pred s [start [end]]
C Function: scm_string_any (char_pred, s, start, end)

Check if char_pred is true for any character in string s.

char_pred can be a character to check for any equal to that, or a character set (see Character Sets) to check for any in that set, or a predicate procedure to call.

For a procedure, calls (char_pred c) are made successively on the characters from start to end. If char_pred returns true (ie. non-#f), string-any stops and that return value is the return from string-any. The call on the last character (ie. at end-1), if that point is reached, is a tail call.

If there are no characters in s (ie. start equals end) then the return is #f.

Scheme Procedure: string-every char_pred s [start [end]]
C Function: scm_string_every (char_pred, s, start, end)

Check if char_pred is true for every character in string s.

char_pred can be a character to check for every character equal to that, or a character set (see Character Sets) to check for every character being in that set, or a predicate procedure to call.

For a procedure, calls (char_pred c) are made successively on the characters from start to end. If char_pred returns #f, string-every stops and returns #f. The call on the last character (ie. at end-1), if that point is reached, is a tail call and the return from that call is the return from string-every.

If there are no characters in s (ie. start equals end) then the return is #t.


Next: , Previous: , Up: Strings   [Contents][Index]