▼ |  | Unstable: May Change Without Warning

1 | Guidelines for Developing unstable Libraries
2 | Automata: Compiling State Machines
3 | Bytes
4 | Contracts
5 | Converting Values to Strings
6 | Contracts for Macro Subexpressions
7 | Debugging
8 | Definitions
9 | Errors
10 | Filesystem
11 | Find
12 | Flonums
13 | Futures
14 | Functions
15 | Hash Tables
16 | Interface-Oriented Programming for Classes
17 | Lazy Require
18 | Lists
19 | Logging
20 | Mark Parameters
21 | Match
22 | Open place expressions
23 | Parameter Groups
24 | Pretty-Printing
25 | Re-Contracting Identifiers
26 | Sandbox
27 | Sequences
28 | Strings
29 | Structs
30 | Struct Printing
31 | Syntax
32 | Temporal Contracts: Explicit Contract Monitors
33 | GUI Libraries

On this page:

pretty-format/ write
pretty-format/ display
pretty-format/ print
break-lines

Version: 5.3.1
top ← prev up next →

### 24`` Pretty-Printing

Carl Eastlund <cce@racket-lang.org>

This library is unstable; compatibility will not be maintained. See Unstable: May Change Without Warning for more information.

( require unstable/pretty )

This module provides tools for pretty-printing.

> > procedure

> > ( pretty-format/write x [columns]) → string?

> x : any/c

> | columns |  | : |  | ( or/c exact-nonnegative-integer? 'infinity)
> |  |  | = |  | ( pretty-print-columns )

This procedure behaves like pretty-format, but it formats values consistently with write instead of print.

Examples:

> > ( struct both [a b] #:transparent)

> > ( pretty-format/write ( list (both ( list 'a 'b) ( list "a" "b"))))
> "(#(struct:both (a b) (\"a\" \"b\")))\n"

> > procedure

> > ( pretty-format/display x [columns]) → string?

> x : any/c

> | columns |  | : |  | ( or/c exact-nonnegative-integer? 'infinity)
> |  |  | = |  | ( pretty-print-columns )

This procedure behaves like pretty-format, but it formats values consistently with display instead of print.

Examples:

> > ( struct both [a b] #:transparent)

> > ( pretty-format/display ( list (both ( list 'a 'b) ( list "a" "b"))))
> "(#(struct:both (a b) (a b)))\n"

> > procedure

> > ( pretty-format/print x [columns]) → string?

> x : any/c

> | columns |  | : |  | ( or/c exact-nonnegative-integer? 'infinity)
> |  |  | = |  | ( pretty-print-columns )

This procedure behaves the same as pretty-format, but is named more explicitly to describe how it formats values. It is included for symmetry with pretty-format/write and pretty-format/display.

Examples:

> > ( struct both [a b] #:transparent)

> > ( pretty-format/print ( list (both ( list 'a 'b) ( list "a" "b"))))
> "(list (both '(a b) '(\"a\" \"b\")))\n"

> > > The subsequent bindings were added by Vincent St-Amour <stamourv@racket-lang.org>.

> > procedure

> > ( break-lines s [columns]) → string?

> s : string?
> columns : exact-nonnegative-integer? = ( pretty-print-columns )

Splits the string s into multiple lines, each of width at most columns, splitting only at whitespace boundaries.

Example:

> > ( display ( break-lines "This string is more than 80 characters long. It is 98 characters long, nothing more, nothing less."))

> This string is more than 80 characters long. It is 98 characters long,
> nothing more, nothing less.

top ← prev up next →