▼ |  | Mz Lib: Legacy Libraries

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

On this page:

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

top ← prev up next →

(require mzlib/string) | package: compatibility-lib

> NOTE: This library is deprecated; use racket/base, instead. Also see racket/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.

> > procedure

> > (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.

> > procedure

> > (string-lowercase! str) → void?

> str : (and/c string? (not/c immutable?))

Destructively changes str to contain only lowercase characters.

> > procedure

> > (string-uppercase! str) → void?

> str : (and/c string? (not/c immutable?))

Destructively changes str to contain only uppercase characters.

> > procedure

> > (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.

> > procedure

> > (expr->string expr) → string?

> expr : any/c

Prints expr into a string and returns the string.

> > procedure

> > (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.

> > procedure

> > (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 →