▼ |  | Mz Lib: Legacy PLT Libraries

1 | mzlib/ a-signature
2 | mzlib/ a-unit
3 | mzlib/ async-channel
4 | mzlib/ awk
5 | mzlib/ class
6 | mzlib/ class100
7 | mzlib/ cm
8 | mzlib/ cm-accomplice
9 | mzlib/ cmdline
10 | mzlib/ cml
11 | mzlib/ compat
12 | mzlib/ compile
13 | mzlib/ contract
14 | mzlib/ control
15 | mzlib/ date
16 | mzlib/ deflate
17 | mzlib/ defmacro
18 | mzlib/ etc
19 | mzlib/ file
20 | mzlib/ for
21 | mzlib/ foreign
22 | mzlib/ include
23 | mzlib/ inflate
24 | mzlib/ integer-set
25 | mzlib/ kw
26 | mzlib/ list
27 | mzlib/ match
28 | mzlib/ math
29 | mzlib/ md5
30 | mzlib/ os
31 | mzlib/ pconvert
32 | mzlib/ pconvert-prop
33 | mzlib/ plt-match
34 | mzlib/ port
35 | mzlib/ pregexp
36 | mzlib/ pretty
37 | mzlib/ process
38 | mzlib/ restart
39 | mzlib/ runtime-path
40 | mzlib/ sandbox
41 | mzlib/ sendevent
42 | mzlib/ serialize
43 | mzlib/ shared
44 | mzlib/ string
45 | mzlib/ struct
46 | mzlib/ stxparam
47 | mzlib/ surrogate
48 | mzlib/ tar
49 | mzlib/ thread
50 | mzlib/ trace
51 | mzlib/ traceld
52 | mzlib/ trait
53 | mzlib/ transcr
54 | mzlib/ unit
55 | mzlib/ unit-exptime
56 | mzlib/ unit200
57 | mzlib/ unitsig200
58 | mzlib/ zip
| Bibliography
| Index

On this page:

glob->regexp
string-lowercase!
string-uppercase!
eval-string
expr->string
read-from-string
read-from-string-all

Version: 4.1.4
top← prev up next →

(require mzlib/string)

The mzlib/string library re-exports several functions from scheme/base:

real->decimal-string
regexp-quote
regexp-replace-quote
regexp-match*
regexp-match-positions*
regexp-match-peek-positions*
regexp-split
regexp-match-exact?

It also re-exports regexp-try-match as regexp-match/fail-without-reading.

(glob->regexp | [ | str |  |  |  |
|  | hide-dots? |  |  |  |
|  | case-sensitive? |  |  |  |
|  | simple?]) |  | → |  | (or/c regexp? byte-regexp?)

str : (or/c string bytes?) = ?
hide-dots? : any/c = #t

| case-sensitive? |  | : |  | any/c
|  |  | = |  | (eq? (system-path-convention-type)'unix)

simple? : any/c = #f

Produces a regexp for a an input “glob pattern” str. A glob pattern is one that matches * with any string, ? with a single character, and character ranges are the same as in regexps (unless simple? is true). In addition, the resulting regexp does not match strings that begin with ., unless str begins with . or hide-dots? is #f. The resulting regexp can be used with string file names to check the glob pattern. If the glob pattern is provided as a byte string, the result is a byte regexp.

The case-sensitive? argument determines whether the resulting regexp is case-sensitive.

If simple? is true, then ranges with [...] in str are treated as literal character sequences.

(string-lowercase! str) → void?
str : (and/c string? (not/c immutable?))

Destructively changes str to contain only lowercase characters.

(string-uppercase! str) → void?
str : (and/c string? (not/c immutable?))

Destructively changes str to contain only uppercase characters.

(eval-string str [err-handler]) → list?
str : (or/c string? bytes?)

err-handler

:

(or/c false/c
(any/c . -> . any/c)
(-> any/c))

=

#f

Reads and evaluates S-expressions from str, returning results for all of the expressions in the string. If any expression produces multiple results, the results are spliced into the resulting list. If str contains only whitespace and comments, an empty list is returned, and if str contains multiple expressions, the result will be contain multiple values from all subexpressions.

The err-handler argument can be:

- #f (the default) which means that errors are not caught;

- a one-argument procedure, which will be used with an exception (when an error occurs) and its result will be returned

- a thunk, which will be used to produce a result.

(expr->string expr) → string?
expr : any/c

Prints expr into a string and returns the string.

(read-from-string str [err-handler]) → any/c
str : (or/c string? bytes?)

err-handler

:

(or/c false/c
(any/c . -> . any/c)
(-> any/c))

=

#f

Reads the first S-expression from str and returns it. The err-handler is as in eval-string.

(read-from-string-all str [err-handler]) → list?
str : (or/c string? bytes?)

err-handler

:

(or/c false/c
(any/c . -> . any/c)
(-> any/c))

=

#f

Reads all S-expressions from the string (or byte string) str and returns them in a list. The err-handler is as in eval-string.

top← prev up next →