emacs.d/clones/lisp/docs.racket-lang.org/reference/strings.html

223 lines
No EOL
406 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><meta name="viewport" content="width=device-width, initial-scale=0.8"/><title>4.4&nbsp;Strings</title><link rel="stylesheet" type="text/css" href="../scribble.css" title="default"/><link rel="stylesheet" type="text/css" href="extras.css" title="default"/><link rel="stylesheet" type="text/css" href="icons.css" title="default"/><link rel="stylesheet" type="text/css" href="../racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-style.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../doc-site.css" title="default"/><script type="text/javascript" src="../scribble-common.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../doc-site.js"></script><script type="text/javascript" src="../local-redirect/local-redirect.js"></script><script type="text/javascript" src="../local-redirect/local-user-redirect.js"></script><!--[if IE 6]><style type="text/css">.SIEHidden { overflow: hidden; }</style><![endif]--></head><body id="doc-racket-lang-org"><div class="tocset"><div class="tocview"><div class="tocviewlist tocviewlisttopspace"><div class="tocviewtitle"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,&quot;tocview_0&quot;);">&#9658;</a></td><td></td><td><a href="index.html" class="tocviewlink" data-pltdoc="x">The Racket Reference</a></td></tr></table></div><div class="tocviewsublisttop" style="display: none;" id="tocview_0"><table cellspacing="0" cellpadding="0"><tr><td align="right">1&nbsp;</td><td><a href="model.html" class="tocviewlink" data-pltdoc="x">Language Model</a></td></tr><tr><td align="right">2&nbsp;</td><td><a href="notation.html" class="tocviewlink" data-pltdoc="x">Notation for Documentation</a></td></tr><tr><td align="right">3&nbsp;</td><td><a href="syntax.html" class="tocviewlink" data-pltdoc="x">Syntactic Forms</a></td></tr><tr><td align="right">4&nbsp;</td><td><a href="data.html" class="tocviewselflink" data-pltdoc="x">Datatypes</a></td></tr><tr><td align="right">5&nbsp;</td><td><a href="structures.html" class="tocviewlink" data-pltdoc="x">Structures</a></td></tr><tr><td align="right">6&nbsp;</td><td><a href="mzlib_class.html" class="tocviewlink" data-pltdoc="x">Classes and Objects</a></td></tr><tr><td align="right">7&nbsp;</td><td><a href="mzlib_unit.html" class="tocviewlink" data-pltdoc="x">Units</a></td></tr><tr><td align="right">8&nbsp;</td><td><a href="contracts.html" class="tocviewlink" data-pltdoc="x">Contracts</a></td></tr><tr><td align="right">9&nbsp;</td><td><a href="match.html" class="tocviewlink" data-pltdoc="x">Pattern Matching</a></td></tr><tr><td align="right">10&nbsp;</td><td><a href="control.html" class="tocviewlink" data-pltdoc="x">Control Flow</a></td></tr><tr><td align="right">11&nbsp;</td><td><a href="concurrency.html" class="tocviewlink" data-pltdoc="x">Concurrency and Parallelism</a></td></tr><tr><td align="right">12&nbsp;</td><td><a href="Macros.html" class="tocviewlink" data-pltdoc="x">Macros</a></td></tr><tr><td align="right">13&nbsp;</td><td><a href="input-and-output.html" class="tocviewlink" data-pltdoc="x">Input and Output</a></td></tr><tr><td align="right">14&nbsp;</td><td><a href="security.html" class="tocviewlink" data-pltdoc="x">Reflection and Security</a></td></tr><tr><td align="right">15&nbsp;</td><td><a href="os.html" class="tocviewlink" data-pltdoc="x">Operating System</a></td></tr><tr><td align="right">16&nbsp;</td><td><a href="memory.html" class="tocviewlink" data-pltdoc="x">Memory Management</a></td></tr><tr><td align="right">17&nbsp;</td><td><a href="unsafe.html" class="tocviewlink" data-pltdoc="x">Unsafe Operations</a></td></tr><tr><td align="right">18&nbsp;</td><td><a href="running.html" class="tocviewlink" data-pltdoc="x">Running Racket</a></td></tr><tr><td align="right"></td><td><a href="doc-bibliography.html" class="tocviewlink" data-pltdoc="x">Bibliography</a></td></tr><tr><td align="right"></td><td><a href="doc-index.html" class="tocviewlink" data-pltdoc="x">Index</a></td></tr></table></div></div><div class="tocviewlist"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,&quot;tocview_1&quot;);">&#9660;</a></td><td>4&nbsp;</td><td><a href="data.html" class="tocviewlink" data-pltdoc="x">Datatypes</a></td></tr></table><div class="tocviewsublist" style="display: block;" id="tocview_1"><table cellspacing="0" cellpadding="0"><tr><td align="right">4.1&nbsp;</td><td><a href="Equality.html" class="tocviewlink" data-pltdoc="x">Equality</a></td></tr><tr><td align="right">4.2&nbsp;</td><td><a href="booleans.html" class="tocviewlink" data-pltdoc="x">Booleans</a></td></tr><tr><td align="right">4.3&nbsp;</td><td><a href="numbers.html" class="tocviewlink" data-pltdoc="x">Numbers</a></td></tr><tr><td align="right">4.4&nbsp;</td><td><a href="strings.html" class="tocviewselflink" data-pltdoc="x">Strings</a></td></tr><tr><td align="right">4.5&nbsp;</td><td><a href="bytestrings.html" class="tocviewlink" data-pltdoc="x">Byte Strings</a></td></tr><tr><td align="right">4.6&nbsp;</td><td><a href="characters.html" class="tocviewlink" data-pltdoc="x">Characters</a></td></tr><tr><td align="right">4.7&nbsp;</td><td><a href="symbols.html" class="tocviewlink" data-pltdoc="x">Symbols</a></td></tr><tr><td align="right">4.8&nbsp;</td><td><a href="regexp.html" class="tocviewlink" data-pltdoc="x">Regular Expressions</a></td></tr><tr><td align="right">4.9&nbsp;</td><td><a href="keywords.html" class="tocviewlink" data-pltdoc="x">Keywords</a></td></tr><tr><td align="right">4.10&nbsp;</td><td><a href="pairs.html" class="tocviewlink" data-pltdoc="x">Pairs and Lists</a></td></tr><tr><td align="right">4.11&nbsp;</td><td><a href="mpairs.html" class="tocviewlink" data-pltdoc="x">Mutable Pairs and Lists</a></td></tr><tr><td align="right">4.12&nbsp;</td><td><a href="vectors.html" class="tocviewlink" data-pltdoc="x">Vectors</a></td></tr><tr><td align="right">4.13&nbsp;</td><td><a href="stencil_vectors.html" class="tocviewlink" data-pltdoc="x">Stencil Vectors</a></td></tr><tr><td align="right">4.14&nbsp;</td><td><a href="boxes.html" class="tocviewlink" data-pltdoc="x">Boxes</a></td></tr><tr><td align="right">4.15&nbsp;</td><td><a href="hashtables.html" class="tocviewlink" data-pltdoc="x">Hash Tables</a></td></tr><tr><td align="right">4.16&nbsp;</td><td><a href="sequences_streams.html" class="tocviewlink" data-pltdoc="x">Sequences and Streams</a></td></tr><tr><td align="right">4.17&nbsp;</td><td><a href="dicts.html" class="tocviewlink" data-pltdoc="x">Dictionaries</a></td></tr><tr><td align="right">4.18&nbsp;</td><td><a href="sets.html" class="tocviewlink" data-pltdoc="x">Sets</a></td></tr><tr><td align="right">4.19&nbsp;</td><td><a href="procedures.html" class="tocviewlink" data-pltdoc="x">Procedures</a></td></tr><tr><td align="right">4.20&nbsp;</td><td><a href="void.html" class="tocviewlink" data-pltdoc="x">Void</a></td></tr><tr><td align="right">4.21&nbsp;</td><td><a href="undefined.html" class="tocviewlink" data-pltdoc="x">Undefined</a></td></tr></table></div></div><div class="tocviewlist"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,&quot;tocview_2&quot;);">&#9658;</a></td><td>4.4&nbsp;</td><td><a href="strings.html" class="tocviewselflink" data-pltdoc="x">Strings</a></td></tr></table><div class="tocviewsublistbottom" style="display: none;" id="tocview_2"><table cellspacing="0" cellpadding="0"><tr><td align="right">4.4.1&nbsp;</td><td><a href="strings.html#%28part._.String_.Constructors__.Selectors__and_.Mutators%29" class="tocviewlink" data-pltdoc="x">String Constructors, Selectors, and Mutators</a></td></tr><tr><td align="right">4.4.2&nbsp;</td><td><a href="strings.html#%28part._.String_.Comparisons%29" class="tocviewlink" data-pltdoc="x">String Comparisons</a></td></tr><tr><td align="right">4.4.3&nbsp;</td><td><a href="strings.html#%28part._.String_.Conversions%29" class="tocviewlink" data-pltdoc="x">String Conversions</a></td></tr><tr><td align="right">4.4.4&nbsp;</td><td><a href="strings.html#%28part._.Locale-.Specific_.String_.Operations%29" class="tocviewlink" data-pltdoc="x">Locale-<wbr></wbr>Specific String Operations</a></td></tr><tr><td align="right">4.4.5&nbsp;</td><td><a href="strings.html#%28part._.Additional_.String_.Functions%29" class="tocviewlink" data-pltdoc="x">Additional String Functions</a></td></tr><tr><td align="right">4.4.6&nbsp;</td><td><a href="strings.html#%28part._format%29" class="tocviewlink" data-pltdoc="x">Converting Values to Strings</a></td></tr></table></div></div></div><div class="tocsub"><div class="tocsubtitle">On this page:</div><table class="tocsublist" cellspacing="0"><tr><td><span class="tocsublinknumber">4.4.1<tt>&nbsp;</tt></span><a href="strings.html#%28part._.String_.Constructors__.Selectors__and_.Mutators%29" class="tocsubseclink" data-pltdoc="x">String Constructors, Selectors, and Mutators</a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._make-string%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">make-<wbr></wbr>string</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-~3eimmutable-string%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>&gt;immutable-<wbr></wbr>string</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-length%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>length</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ref%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>ref</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-set%21%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>set!</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._substring%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">substring</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-copy%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>copy</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-copy%21%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>copy!</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-fill%21%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>fill!</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-append%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>append</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-append-immutable%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>append-<wbr></wbr>immutable</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-~3elist%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>&gt;list</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._list-~3estring%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">list-<wbr></wbr>&gt;string</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fprivate%2Flist..rkt%29._build-string%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">build-<wbr></wbr>string</span></span></a></td></tr><tr><td><span class="tocsublinknumber">4.4.2<tt>&nbsp;</tt></span><a href="strings.html#%28part._.String_.Comparisons%29" class="tocsubseclink" data-pltdoc="x">String Comparisons</a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3d~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string=?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3c~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string&lt;?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3c~3d~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string&lt;=?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3e~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string&gt;?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3e~3d~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string&gt;=?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3d~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>ci=?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3c~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>ci&lt;?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3c~3d~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>ci&lt;=?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3e~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>ci&gt;?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3e~3d~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>ci&gt;=?</span></span></a></td></tr><tr><td><span class="tocsublinknumber">4.4.3<tt>&nbsp;</tt></span><a href="strings.html#%28part._.String_.Conversions%29" class="tocsubseclink" data-pltdoc="x">String Conversions</a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-upcase%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>upcase</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-downcase%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>downcase</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-titlecase%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>titlecase</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-foldcase%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>foldcase</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-normalize-nfd%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>normalize-<wbr></wbr>nfd</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-normalize-nfkd%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>normalize-<wbr></wbr>nfkd</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-normalize-nfc%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>normalize-<wbr></wbr>nfc</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-normalize-nfkc%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>normalize-<wbr></wbr>nfkc</span></span></a></td></tr><tr><td><span class="tocsublinknumber">4.4.4<tt>&nbsp;</tt></span><a href="strings.html#%28part._.Locale-.Specific_.String_.Operations%29" class="tocsubseclink" data-pltdoc="x">Locale-<wbr></wbr>Specific String Operations</a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale~3d~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>locale=?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale~3c~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>locale&lt;?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale~3e~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>locale&gt;?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale-ci~3d~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>locale-<wbr></wbr>ci=?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale-ci~3c~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>locale-<wbr></wbr>ci&lt;?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale-ci~3e~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>locale-<wbr></wbr>ci&gt;?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale-upcase%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>locale-<wbr></wbr>upcase</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale-downcase%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>locale-<wbr></wbr>downcase</span></span></a></td></tr><tr><td><span class="tocsublinknumber">4.4.5<tt>&nbsp;</tt></span><a href="strings.html#%28part._.Additional_.String_.Functions%29" class="tocsubseclink" data-pltdoc="x">Additional String Functions</a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-append%2A%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>append*</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-join%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>join</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-normalize-spaces%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>normalize-<wbr></wbr>spaces</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-replace%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>replace</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-split%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>split</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-trim%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>trim</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">non-<wbr></wbr>empty-<wbr></wbr>string?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-contains~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>contains?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-prefix~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>prefix?</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-suffix~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>suffix?</span></span></a></td></tr><tr><td><span class="tocsublinknumber">4.4.6<tt>&nbsp;</tt></span><a href="strings.html#%28part._format%29" class="tocsubseclink" data-pltdoc="x">Converting Values to Strings</a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">~a</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ev%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">~v</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7es%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">~s</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ee%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">~e</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">~r</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7e..a%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">~.a</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7e..v%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">~.v</span></span></a></td></tr><tr><td><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7e..s%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">~.s</span></span></a></td></tr></table></div></div><div class="maincolumn"><div class="main"><div class="navsettop"><span class="navleft"><form class="searchform"><input class="searchbox" id="searchbox" type="text" tabindex="1" placeholder="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, &quot;8.6&quot;, &quot;../&quot;);"/></form>&nbsp;&nbsp;<a href="https://docs.racket-lang.org/index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot(&quot;8.6&quot;);">top</a><span class="tocsettoggle">&nbsp;&nbsp;<a href="javascript:void(0);" title="show/hide table of contents" onclick="TocsetToggle();">contents</a></span></span><span class="navright">&nbsp;&nbsp;<a href="extflonums.html" title="backward to &quot;4.3.5 Extflonums&quot;" data-pltdoc="x">&larr; prev</a>&nbsp;&nbsp;<a href="data.html" title="up to &quot;4 Datatypes&quot;" data-pltdoc="x">up</a>&nbsp;&nbsp;<a href="bytestrings.html" title="forward to &quot;4.5 Byte Strings&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div><h4 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-source-pkg="racket-doc" x-part-tag="&quot;strings&quot;">4.4<tt>&nbsp;</tt><a name="(part._strings)"></a>Strings</h4><blockquote class="refpara"><blockquote class="refcolumn"><blockquote class="refcontent"><p><span class="imageleft"><img src="finger.png" alt="+" width="24" height="24"/></span><a href="https://download.racket-lang.org/releases/8.6/doc/local-redirect/index.html?doc=guide&amp;rel=strings.html&amp;version=8.6" class="Sq" data-pltdoc="x">Strings (Unicode)</a> in <a href="https://download.racket-lang.org/releases/8.6/doc/local-redirect/index.html?doc=guide&amp;rel=index.html&amp;version=8.6" class="Sq" data-pltdoc="x">The Racket Guide</a> introduces strings.</p></blockquote></blockquote></blockquote><p>A <a name="(tech._string)"></a><span style="font-style: italic">string</span> is a fixed-length array of
<a href="characters.html" data-pltdoc="x">characters</a>.</p><p><a name="(idx._(gentag._137._(lib._scribblings/reference/reference..scrbl)))"></a>A string can be <span style="font-style: italic">mutable</span> or
<span style="font-style: italic">immutable</span>. When an immutable string is provided to a
procedure like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-set%21%29%29" class="RktValLink" data-pltdoc="x">string-set!</a></span>, the
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract</a></span> exception is raised. String constants generated by the
default reader (see <a href="reader.html#%28part._parse-string%29" data-pltdoc="x">Reading Strings</a>) are
immutable, and they are <a href="reader.html#%28tech._interned%29" class="techoutside" data-pltdoc="x"><span class="techinside">interned</span></a> in <span class="RktSym"><a href="Reading.html#%28def._%28%28quote._~23~25kernel%29._read-syntax%29%29" class="RktValLink" data-pltdoc="x">read-syntax</a></span> mode.
Use <span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._immutable~3f%29%29" class="RktValLink" data-pltdoc="x">immutable?</a></span> to check whether a string is immutable.</p><p>Two strings are <span class="RktSym"><a href="Equality.html#%28def._%28%28quote._~23~25kernel%29._equal~3f%29%29" class="RktValLink" data-pltdoc="x">equal?</a></span> when they have the same length and
contain the same sequence of characters.</p><p>A string can be used as a single-valued sequence (see
<a href="sequences.html" data-pltdoc="x">Sequences</a>). The characters of the string serve as elements
of the sequence. See also <span class="RktSym"><a href="sequences.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._in-string%29%29" class="RktValLink" data-pltdoc="x">in-string</a></span>.</p><p>See <a href="reader.html#%28part._parse-string%29" data-pltdoc="x">Reading Strings</a>
for information on <span class="RktSym"><a href="Reading.html#%28def._%28%28quote._~23~25kernel%29._read%29%29" class="RktValLink" data-pltdoc="x">read</a></span>ing
strings and <a href="printing.html#%28part._print-string%29" data-pltdoc="x">Printing Strings</a>
for information on <span class="RktSym"><a href="Writing.html#%28def._%28%28quote._~23~25kernel%29._print%29%29" class="RktValLink" data-pltdoc="x">print</a></span>ing strings.</p><p>See also: <span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._immutable~3f%29%29" class="RktValLink" data-pltdoc="x">immutable?</a></span>, <span class="RktSym"><a href="symbols.html#%28def._%28%28quote._~23~25kernel%29._symbol-~3estring%29%29" class="RktValLink" data-pltdoc="x">symbol-&gt;string</a></span>,
<span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes-~3estring%2Futf-8%29%29" class="RktValLink" data-pltdoc="x">bytes-&gt;string/utf-8</a></span>.</p><h5 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-source-pkg="racket-doc" x-part-tag="&quot;String_Constructors__Selectors__and_Mutators&quot;">4.4.1<tt>&nbsp;</tt><a name="(part._.String_.Constructors__.Selectors__and_.Mutators)"></a>String Constructors, Selectors, and Mutators</h5><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns <span class="RktVal">#t</span> if <span class="RktVar">v</span>
is a string, <span class="RktVal">#f</span> otherwise.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">apple</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._make-string))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._make-string%29%29" class="RktValDef RktValLink" data-pltdoc="x">make-string</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span><span class="RktOpt">[</span><span class="RktVar">char</span><span class="RktOpt">]</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">char</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="characters.html#%28def._%28%28quote._~23~25kernel%29._char~3f%29%29" class="RktValLink" data-pltdoc="x">char?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#\nul</span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns a new mutable string of length <span class="RktVar">k</span> where
each position in the string is initialized with the character
<span class="RktVar">char</span>.</div></p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._make-string%29%29" class="RktValLink" data-pltdoc="x">make-string</a></span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="hspace">&nbsp;</span><span class="RktVal">#\z</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"zzzzz"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string%29%29" class="RktValDef RktValLink" data-pltdoc="x">string</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">char</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">char</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="characters.html#%28def._%28%28quote._~23~25kernel%29._char~3f%29%29" class="RktValLink" data-pltdoc="x">char?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns a new
mutable string whose length is the number of provided <span class="RktVar">char</span>s, and
whose positions are initialized with the given <span class="RktVar">char</span>s.</div></p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string%29%29" class="RktValLink" data-pltdoc="x">string</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#\A</span><span class="hspace">&nbsp;</span><span class="RktVal">#\p</span><span class="hspace">&nbsp;</span><span class="RktVal">#\p</span><span class="hspace">&nbsp;</span><span class="RktVal">#\l</span><span class="hspace">&nbsp;</span><span class="RktVal">#\e</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"Apple"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-~3eimmutable-string))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-~3eimmutable-string%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-&gt;immutable-string</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._immutable~3f%29%29" class="RktValLink" data-pltdoc="x">immutable?</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns an immutable string with the same content as
<span class="RktVar">str</span>, returning <span class="RktVar">str</span> itself if <span class="RktVar">str</span> is
immutable.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-length))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-length%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-length</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the length of <span class="RktVar">str</span>.</div></p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-length%29%29" class="RktValLink" data-pltdoc="x">string-length</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">5</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-ref))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ref%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-ref</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="characters.html#%28def._%28%28quote._~23~25kernel%29._char~3f%29%29" class="RktValLink" data-pltdoc="x">char?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns the character at position <span class="RktVar">k</span> in <span class="RktVar">str</span>.
The first position in the string corresponds to <span class="RktVal">0</span>, so the
position <span class="RktVar">k</span> must be less than the length of the string,
otherwise the <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract</a></span> exception is raised.</div></p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ref%29%29" class="RktValLink" data-pltdoc="x">string-ref</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#\A</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-set!))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-set%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-set!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span><span class="RktVar">char</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._not%2Fc%29%29" class="RktValLink" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._immutable~3f%29%29" class="RktValLink" data-pltdoc="x">immutable?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">k</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">char</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="characters.html#%28def._%28%28quote._~23~25kernel%29._char~3f%29%29" class="RktValLink" data-pltdoc="x">char?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Changes the
character position <span class="RktVar">k</span> in <span class="RktVar">str</span> to <span class="RktVar">char</span>. The first
position in the string corresponds to <span class="RktVal">0</span>, so the position
<span class="RktVar">k</span> must be less than the length of the string, otherwise the
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract</a></span> exception is raised.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="define.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define%29%29" class="RktStxLink" data-pltdoc="x">define</a></span><span class="hspace">&nbsp;</span><span class="RktSym">s</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string%29%29" class="RktValLink" data-pltdoc="x">string</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#\A</span><span class="hspace">&nbsp;</span><span class="RktVal">#\p</span><span class="hspace">&nbsp;</span><span class="RktVal">#\p</span><span class="hspace">&nbsp;</span><span class="RktVal">#\l</span><span class="hspace">&nbsp;</span><span class="RktVal">#\e</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-set%21%29%29" class="RktValLink" data-pltdoc="x">string-set!</a></span><span class="hspace">&nbsp;</span><span class="RktSym">s</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">#\y</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">&gt; </span><span class="RktSym">s</span></td></tr><tr><td><p><span class="RktRes">"Apply"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._substring))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._substring%29%29" class="RktValDef RktValLink" data-pltdoc="x">substring</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span><span class="RktVar">start</span><span class="hspace">&nbsp;</span><span class="RktOpt">[</span><span class="RktVar">end</span><span class="RktOpt">]</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">start</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">end</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-length%29%29" class="RktValLink" data-pltdoc="x">string-length</a></span><span class="hspace">&nbsp;</span><span class="RktVar">str</span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Returns a new mutable string that is <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._-%29%29" class="RktValLink" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktVar">end</span><span class="stt"> </span><span class="RktVar">start</span><span class="RktPn">)</span>
characters long, and that contains the same characters as
<span class="RktVar">str</span> from <span class="RktVar">start</span> inclusive to <span class="RktVar">end</span> exclusive.
The first position in a string corresponds to <span class="RktVal">0</span>, so
the <span class="RktVar">start</span> and <span class="RktVar">end</span> arguments must be less than or
equal to the length of <span class="RktVar">str</span>, and <span class="RktVar">end</span> must be greater
than or equal to <span class="RktVar">start</span>, otherwise the
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract</a></span> exception is raised.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._substring%29%29" class="RktValLink" data-pltdoc="x">substring</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"pp"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._substring%29%29" class="RktValLink" data-pltdoc="x">substring</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"pple"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-copy))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-copy%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-copy</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns
<span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._substring%29%29" class="RktValLink" data-pltdoc="x">substring</a></span><span class="stt"> </span><span class="RktVar">str</span><span class="stt"> </span><span class="RktVal">0</span><span class="RktPn">)</span>.
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="define.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define%29%29" class="RktStxLink" data-pltdoc="x">define</a></span><span class="hspace">&nbsp;</span><span class="RktSym">s1</span><span class="hspace">&nbsp;</span><span class="RktVal">"Yui"</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="define.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define%29%29" class="RktStxLink" data-pltdoc="x">define</a></span><span class="hspace">&nbsp;</span><span class="RktSym">pilot</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-copy%29%29" class="RktValLink" data-pltdoc="x">string-copy</a></span><span class="hspace">&nbsp;</span><span class="RktSym">s1</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktSym">s1</span><span class="hspace">&nbsp;</span><span class="RktSym">pilot</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'("Yui" "Yui")</span></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="for.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._for%29%29" class="RktStxLink" data-pltdoc="x">for</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">i</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="sequences.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._in-naturals%29%29" class="RktValLink" data-pltdoc="x">in-naturals</a></span><span class="RktPn">)</span><span class="RktPn">]</span><span class="hspace">&nbsp;</span><span class="RktPn">[</span><span class="RktSym">ch</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">#\R</span><span class="hspace">&nbsp;</span><span class="RktVal">#\e</span><span class="hspace">&nbsp;</span><span class="RktVal">#\i</span><span class="RktVal">)</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-set%21%29%29" class="RktValLink" data-pltdoc="x">string-set!</a></span><span class="hspace">&nbsp;</span><span class="RktSym">pilot</span><span class="hspace">&nbsp;</span><span class="RktSym">i</span><span class="hspace">&nbsp;</span><span class="RktSym">ch</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktSym">s1</span><span class="hspace">&nbsp;</span><span class="RktSym">pilot</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'("Yui" "Rei")</span></p></td></tr></table></blockquote></div></p></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-copy!))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-copy%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-copy!</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">dest</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">dest-start</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">src</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span><span class="RktOpt">[</span></td><td valign="top"><span class="RktVar">src-start</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">src-end</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">&rarr;</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">dest</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._not%2Fc%29%29" class="RktValLink" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._immutable~3f%29%29" class="RktValLink" data-pltdoc="x">immutable?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">dest-start</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">src</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">src-start</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">0</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">src-end</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-length%29%29" class="RktValLink" data-pltdoc="x">string-length</a></span><span class="hspace">&nbsp;</span><span class="RktVar">src</span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Changes the characters of <span class="RktVar">dest</span> starting at position
<span class="RktVar">dest-start</span> to match the characters in <span class="RktVar">src</span> from
<span class="RktVar">src-start</span> (inclusive) to <span class="RktVar">src-end</span> (exclusive),
where the first position in a string corresponds to <span class="RktVal">0</span>. The
strings <span class="RktVar">dest</span> and <span class="RktVar">src</span> can be the same string, and in
that case the destination region can overlap with the source region;
the destination characters after the copy match the source characters
from before the copy. If any of <span class="RktVar">dest-start</span>,
<span class="RktVar">src-start</span>, or <span class="RktVar">src-end</span> are out of range (taking into
account the sizes of the strings and the source and destination
regions), the <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract</a></span> exception is raised.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="define.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define%29%29" class="RktStxLink" data-pltdoc="x">define</a></span><span class="hspace">&nbsp;</span><span class="RktSym">s</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string%29%29" class="RktValLink" data-pltdoc="x">string</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#\A</span><span class="hspace">&nbsp;</span><span class="RktVal">#\p</span><span class="hspace">&nbsp;</span><span class="RktVal">#\p</span><span class="hspace">&nbsp;</span><span class="RktVal">#\l</span><span class="hspace">&nbsp;</span><span class="RktVal">#\e</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-copy%21%29%29" class="RktValLink" data-pltdoc="x">string-copy!</a></span><span class="hspace">&nbsp;</span><span class="RktSym">s</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">"y"</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-copy%21%29%29" class="RktValLink" data-pltdoc="x">string-copy!</a></span><span class="hspace">&nbsp;</span><span class="RktSym">s</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktSym">s</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">&gt; </span><span class="RktSym">s</span></td></tr><tr><td><p><span class="RktRes">"lpply"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-fill!))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-fill%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-fill!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">dest</span><span class="hspace">&nbsp;</span><span class="RktVar">char</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">dest</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._not%2Fc%29%29" class="RktValLink" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._immutable~3f%29%29" class="RktValLink" data-pltdoc="x">immutable?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">char</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="characters.html#%28def._%28%28quote._~23~25kernel%29._char~3f%29%29" class="RktValLink" data-pltdoc="x">char?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Changes <span class="RktVar">dest</span> so that every position in the
string is filled with <span class="RktVar">char</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="define.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._define%29%29" class="RktStxLink" data-pltdoc="x">define</a></span><span class="hspace">&nbsp;</span><span class="RktSym">s</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string%29%29" class="RktValLink" data-pltdoc="x">string</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#\A</span><span class="hspace">&nbsp;</span><span class="RktVal">#\p</span><span class="hspace">&nbsp;</span><span class="RktVal">#\p</span><span class="hspace">&nbsp;</span><span class="RktVal">#\l</span><span class="hspace">&nbsp;</span><span class="RktVal">#\e</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-fill%21%29%29" class="RktValLink" data-pltdoc="x">string-fill!</a></span><span class="hspace">&nbsp;</span><span class="RktSym">s</span><span class="hspace">&nbsp;</span><span class="RktVal">#\q</span><span class="RktPn">)</span></td></tr><tr><td><span class="stt">&gt; </span><span class="RktSym">s</span></td></tr><tr><td><p><span class="RktRes">"qqqqq"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-append))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-append%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-append</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"><a name="(idx._(gentag._138._(lib._scribblings/reference/reference..scrbl)))"></a>Returns a new mutable string that is
as long as the sum of the given <span class="RktVar">str</span>s&rsquo; lengths, and that
contains the concatenated characters of the given <span class="RktVar">str</span>s. If no
<span class="RktVar">str</span>s are provided, the result is a zero-length string.</div></p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-append%29%29" class="RktValLink" data-pltdoc="x">string-append</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"Banana"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"AppleBanana"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-append-immutable))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-append-immutable%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-append-immutable</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._immutable~3f%29%29" class="RktValLink" data-pltdoc="x">immutable?</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">The same as <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-append%29%29" class="RktValLink" data-pltdoc="x">string-append</a></span>, but the result is an immutable
string.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-append-immutable%29%29" class="RktValLink" data-pltdoc="x">string-append-immutable</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"Banana"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"AppleBanana"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._immutable~3f%29%29" class="RktValLink" data-pltdoc="x">immutable?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-append-immutable%29%29" class="RktValLink" data-pltdoc="x">string-append-immutable</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"A"</span><span class="hspace">&nbsp;</span><span class="RktVal">"B"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Added in version 7.5.0.14 of package <span class="stt">base</span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-~3elist))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-~3elist%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-&gt;list</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._listof%29%29" class="RktValLink" data-pltdoc="x">listof</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="characters.html#%28def._%28%28quote._~23~25kernel%29._char~3f%29%29" class="RktValLink" data-pltdoc="x">char?</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns a new
list of characters corresponding to the content of <span class="RktVar">str</span>. That is,
the length of the list is <span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-length%29%29" class="RktValLink" data-pltdoc="x">string-length</a></span><span class="stt"> </span><span class="RktVar">str</span><span class="RktPn">)</span>, and the
sequence of characters in <span class="RktVar">str</span> is the same sequence in the
result list.</div></p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-~3elist%29%29" class="RktValLink" data-pltdoc="x">string-&gt;list</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'(#\A #\p #\p #\l #\e)</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._list-~3estring))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._list-~3estring%29%29" class="RktValDef RktValLink" data-pltdoc="x">list-&gt;string</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">lst</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">lst</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._listof%29%29" class="RktValLink" data-pltdoc="x">listof</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="characters.html#%28def._%28%28quote._~23~25kernel%29._char~3f%29%29" class="RktValLink" data-pltdoc="x">char?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns a new
mutable string whose content is the list of characters in <span class="RktVar">lst</span>.
That is, the length of the string is <span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._length%29%29" class="RktValLink" data-pltdoc="x">length</a></span><span class="stt"> </span><span class="RktVar">lst</span><span class="RktPn">)</span>, and
the sequence of characters in <span class="RktVar">lst</span> is the same sequence in
the result string.</div></p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._list-~3estring%29%29" class="RktValLink" data-pltdoc="x">list-&gt;string</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#\A</span><span class="hspace">&nbsp;</span><span class="RktVal">#\p</span><span class="hspace">&nbsp;</span><span class="RktVal">#\p</span><span class="hspace">&nbsp;</span><span class="RktVal">#\l</span><span class="hspace">&nbsp;</span><span class="RktVal">#\e</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"Apple"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/private/list..rkt)._build-string))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fprivate%2Flist..rkt%29._build-string%29%29" class="RktValDef RktValLink" data-pltdoc="x">build-string</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">n</span><span class="hspace">&nbsp;</span><span class="RktVar">proc</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">n</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">proc</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">. </span><span class="RktSym"><a href="function-contracts.html#%28form._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._-~3e%29%29" class="RktStxLink" data-pltdoc="x"><span class="nobreak">-&gt;</span></a></span><span class="RktPn"> .</span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="characters.html#%28def._%28%28quote._~23~25kernel%29._char~3f%29%29" class="RktValLink" data-pltdoc="x">char?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a string of <span class="RktVar">n</span> characters by applying <span class="RktVar">proc</span> to
the integers from <span class="RktVal">0</span> to <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sub1%29%29" class="RktValLink" data-pltdoc="x">sub1</a></span><span class="stt"> </span><span class="RktVar">n</span><span class="RktPn">)</span> in order. If
<span class="RktVar">str</span> is the resulting string, then <span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ref%29%29" class="RktValLink" data-pltdoc="x">string-ref</a></span><span class="stt"> </span><span class="RktVar">str</span><span class="stt"> </span><span class="RktVar">i</span><span class="RktPn">)</span> is the character produced by <span class="RktPn">(</span><span class="RktVar">proc</span><span class="stt"> </span><span class="RktVar">i</span><span class="RktPn">)</span>.</div></p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fprivate%2Flist..rkt%29._build-string%29%29" class="RktValLink" data-pltdoc="x">build-string</a></span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="lambda.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">i</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="characters.html#%28def._%28%28quote._~23~25kernel%29._integer-~3echar%29%29" class="RktValLink" data-pltdoc="x">integer-&gt;char</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29" class="RktValLink" data-pltdoc="x">+</a></span><span class="hspace">&nbsp;</span><span class="RktSym">i</span><span class="hspace">&nbsp;</span><span class="RktVal">97</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"abcde"</span></p></td></tr></table></blockquote></div></p><h5 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-source-pkg="racket-doc" x-part-tag="&quot;String_Comparisons&quot;">4.4.2<tt>&nbsp;</tt><a name="(part._.String_.Comparisons)"></a>String Comparisons</h5><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string~3d~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3d~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string=?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns
<span class="RktVal">#t</span> if all of the arguments are <span class="RktSym"><a href="Equality.html#%28def._%28%28quote._~23~25kernel%29._equal~3f%29%29" class="RktValLink" data-pltdoc="x">equal?</a></span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string=?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string=?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"a"</span><span class="hspace">&nbsp;</span><span class="RktVal">"as"</span><span class="hspace">&nbsp;</span><span class="RktVal">"a"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string~3c~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3c~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string&lt;?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVal">#t</span> if the arguments are lexicographically sorted
increasing, where individual characters are ordered by
<span class="RktSym"><a href="characters.html#%28def._%28%28quote._~23~25kernel%29._char~3c~3f%29%29" class="RktValLink" data-pltdoc="x">char&lt;?</a></span>, <span class="RktVal">#f</span> otherwise.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3c~3f%29%29" class="RktValLink" data-pltdoc="x">string&lt;?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3c~3f%29%29" class="RktValLink" data-pltdoc="x">string&lt;?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3c~3f%29%29" class="RktValLink" data-pltdoc="x">string&lt;?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"a"</span><span class="hspace">&nbsp;</span><span class="RktVal">"b"</span><span class="hspace">&nbsp;</span><span class="RktVal">"c"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string~3c~3d~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3c~3d~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string&lt;=?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3c~3f%29%29" class="RktValLink" data-pltdoc="x">string&lt;?</a></span>, but checks whether the arguments are nondecreasing.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3c~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string&lt;=?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3c~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string&lt;=?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3c~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string&lt;=?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"a"</span><span class="hspace">&nbsp;</span><span class="RktVal">"b"</span><span class="hspace">&nbsp;</span><span class="RktVal">"b"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string~3e~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3e~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string&gt;?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3c~3f%29%29" class="RktValLink" data-pltdoc="x">string&lt;?</a></span>, but checks whether the arguments are decreasing.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3e~3f%29%29" class="RktValLink" data-pltdoc="x">string&gt;?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3e~3f%29%29" class="RktValLink" data-pltdoc="x">string&gt;?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3e~3f%29%29" class="RktValLink" data-pltdoc="x">string&gt;?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"c"</span><span class="hspace">&nbsp;</span><span class="RktVal">"b"</span><span class="hspace">&nbsp;</span><span class="RktVal">"a"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string~3e~3d~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3e~3d~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string&gt;=?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3c~3f%29%29" class="RktValLink" data-pltdoc="x">string&lt;?</a></span>, but checks whether the arguments are nonincreasing.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3e~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string&gt;=?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3e~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string&gt;=?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3e~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string&gt;=?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"c"</span><span class="hspace">&nbsp;</span><span class="RktVal">"b"</span><span class="hspace">&nbsp;</span><span class="RktVal">"b"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-ci~3d~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3d~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-ci=?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVal">#t</span> if all of the arguments are <span class="RktSym"><a href="Equality.html#%28def._%28%28quote._~23~25kernel%29._equal~3f%29%29" class="RktValLink" data-pltdoc="x">equal?</a></span> after
locale-insensitive case-folding via <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-foldcase%29%29" class="RktValLink" data-pltdoc="x">string-foldcase</a></span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci=?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci=?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"a"</span><span class="hspace">&nbsp;</span><span class="RktVal">"a"</span><span class="hspace">&nbsp;</span><span class="RktVal">"a"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-ci~3c~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3c~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-ci&lt;?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3c~3f%29%29" class="RktValLink" data-pltdoc="x">string&lt;?</a></span>, but checks whether the arguments would be in
increasing order if each was first case-folded using
<span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-foldcase%29%29" class="RktValLink" data-pltdoc="x">string-foldcase</a></span> (which is locale-insensitive).</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3c~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci&lt;?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3c~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci&lt;?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"banana"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3c~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci&lt;?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"a"</span><span class="hspace">&nbsp;</span><span class="RktVal">"b"</span><span class="hspace">&nbsp;</span><span class="RktVal">"c"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-ci~3c~3d~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3c~3d~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-ci&lt;=?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3c~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci&lt;?</a></span>, but checks whether the arguments would be nondecreasing after case-folding.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3c~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci&lt;=?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3c~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci&lt;=?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3c~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci&lt;=?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"a"</span><span class="hspace">&nbsp;</span><span class="RktVal">"b"</span><span class="hspace">&nbsp;</span><span class="RktVal">"b"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-ci~3e~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3e~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-ci&gt;?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3c~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci&lt;?</a></span>, but checks whether the arguments would be decreasing after case-folding.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3e~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci&gt;?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3e~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci&gt;?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"banana"</span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3e~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci&gt;?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"c"</span><span class="hspace">&nbsp;</span><span class="RktVal">"b"</span><span class="hspace">&nbsp;</span><span class="RktVal">"a"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-ci~3e~3d~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3e~3d~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-ci&gt;=?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3c~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci&lt;?</a></span>, but checks whether the arguments would be nonincreasing after case-folding.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3e~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci&gt;=?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3e~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci&gt;=?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="hspace">&nbsp;</span><span class="RktVal">"Apple"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-ci~3e~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string-ci&gt;=?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"c"</span><span class="hspace">&nbsp;</span><span class="RktVal">"b"</span><span class="hspace">&nbsp;</span><span class="RktVal">"b"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><h5 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-source-pkg="racket-doc" x-part-tag="&quot;String_Conversions&quot;">4.4.3<tt>&nbsp;</tt><a name="(part._.String_.Conversions)"></a>String Conversions</h5><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-upcase))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-upcase%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-upcase</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns a string
whose characters are the upcase conversion of the characters in
<span class="RktVar">str</span>. The conversion uses Unicode&rsquo;s locale-independent
conversion rules that map code-point sequences to code-point
sequences (instead of simply mapping a 1-to-1 function on code points
over the string), so the string produced by the conversion can be
longer than the input string.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-upcase%29%29" class="RktValLink" data-pltdoc="x">string-upcase</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"abc!"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"ABC!"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-upcase%29%29" class="RktValLink" data-pltdoc="x">string-upcase</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Stra&#223;e"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"STRASSE"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-downcase))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-downcase%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-downcase</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">string</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Like
<span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-upcase%29%29" class="RktValLink" data-pltdoc="x">string-upcase</a></span>, but the downcase conversion.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-downcase%29%29" class="RktValLink" data-pltdoc="x">string-downcase</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"aBC!"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"abc!"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-downcase%29%29" class="RktValLink" data-pltdoc="x">string-downcase</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Stra&#223;e"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"stra&#223;e"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-downcase%29%29" class="RktValLink" data-pltdoc="x">string-downcase</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"&#922;&#913;&#927;&#931;"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"&#954;&#945;&#959;&#962;"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-downcase%29%29" class="RktValLink" data-pltdoc="x">string-downcase</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"&#931;"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"&#963;"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-titlecase))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-titlecase%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-titlecase</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">string</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Like
<span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-upcase%29%29" class="RktValLink" data-pltdoc="x">string-upcase</a></span>, but the titlecase conversion only for the
first character in each sequence of cased characters in <span class="RktSym">str</span>
(ignoring case-ignorable characters).</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-titlecase%29%29" class="RktValLink" data-pltdoc="x">string-titlecase</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"aBC</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">twO"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"Abc</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes">Two"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-titlecase%29%29" class="RktValLink" data-pltdoc="x">string-titlecase</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"y2k"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"Y2k"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-titlecase%29%29" class="RktValLink" data-pltdoc="x">string-titlecase</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"main stra&#223;e"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"Main Stra&#223;e"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-titlecase%29%29" class="RktValLink" data-pltdoc="x">string-titlecase</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"stra &#223;e"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"Stra Sse"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-foldcase))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-foldcase%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-foldcase</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">string</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Like
<span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-upcase%29%29" class="RktValLink" data-pltdoc="x">string-upcase</a></span>, but the case-folding conversion.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-foldcase%29%29" class="RktValLink" data-pltdoc="x">string-foldcase</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"aBC!"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"abc!"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-foldcase%29%29" class="RktValLink" data-pltdoc="x">string-foldcase</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Stra&#223;e"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"strasse"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-foldcase%29%29" class="RktValLink" data-pltdoc="x">string-foldcase</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"&#922;&#913;&#927;&#931;"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"&#954;&#945;&#959;&#963;"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-normalize-nfd))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-normalize-nfd%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-normalize-nfd</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">string</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns a
string that is the Unicode normalized form D of <span class="RktVar">string</span>. If
the given string is already in the corresponding Unicode normal form,
the string may be returned directly as the result (instead of a newly
allocated string).</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-normalize-nfkd))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-normalize-nfkd%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-normalize-nfkd</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">string</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Like
<span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-normalize-nfd%29%29" class="RktValLink" data-pltdoc="x">string-normalize-nfd</a></span>, but for normalized form KD.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-normalize-nfc))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-normalize-nfc%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-normalize-nfc</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">string</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Like
<span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-normalize-nfd%29%29" class="RktValLink" data-pltdoc="x">string-normalize-nfd</a></span>, but for normalized form C.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-normalize-nfkc))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-normalize-nfkc%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-normalize-nfkc</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">string</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Like
<span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-normalize-nfd%29%29" class="RktValLink" data-pltdoc="x">string-normalize-nfd</a></span>, but for normalized form KC.</div></p><h5 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-source-pkg="racket-doc" x-part-tag="&quot;Locale-Specific_String_Operations&quot;">4.4.4<tt>&nbsp;</tt><a name="(part._.Locale-.Specific_.String_.Operations)"></a>Locale-Specific String Operations</h5><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-locale~3d~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale~3d~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-locale=?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string=?</a></span>, but the strings are compared in a
locale-specific way, based on the value of <span class="RktSym"><a href="encodings.html#%28def._%28%28quote._~23~25kernel%29._current-locale%29%29" class="RktValLink" data-pltdoc="x">current-locale</a></span>. See
<a href="encodings.html" data-pltdoc="x">Encodings and Locales</a> for more information on locales.</div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-locale~3c~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale~3c~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-locale&lt;?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span><span class="RktMeta">...+</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3c~3f%29%29" class="RktValLink" data-pltdoc="x">string&lt;?</a></span>, but the sort order compares strings in a
locale-specific way, based on the value of <span class="RktSym"><a href="encodings.html#%28def._%28%28quote._~23~25kernel%29._current-locale%29%29" class="RktValLink" data-pltdoc="x">current-locale</a></span>. In
particular, the sort order may not be simply a lexicographic
extension of character ordering.</div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-locale~3e~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale~3e~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-locale&gt;?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3e~3f%29%29" class="RktValLink" data-pltdoc="x">string&gt;?</a></span>, but locale-specific like
<span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale~3c~3f%29%29" class="RktValLink" data-pltdoc="x">string-locale&lt;?</a></span>.</div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-locale-ci~3d~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale-ci~3d~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-locale-ci=?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string-locale=?</a></span>, but strings are compared
using rules that are both locale-specific and case-insensitive
(depending on what &ldquo;case-insensitive&rdquo; means for the current
locale).</div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-locale-ci~3c~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale-ci~3c~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-locale-ci&lt;?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3c~3f%29%29" class="RktValLink" data-pltdoc="x">string&lt;?</a></span>, but both locale-sensitive and
case-insensitive like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale-ci~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string-locale-ci=?</a></span>.</div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-locale-ci~3e~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale-ci~3e~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-locale-ci&gt;?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str1</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str2</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3e~3f%29%29" class="RktValLink" data-pltdoc="x">string&gt;?</a></span>, but both locale-sensitive and
case-insensitive like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale-ci~3d~3f%29%29" class="RktValLink" data-pltdoc="x">string-locale-ci=?</a></span>.</div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-locale-upcase))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale-upcase%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-locale-upcase</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">string</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Like
<span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-upcase%29%29" class="RktValLink" data-pltdoc="x">string-upcase</a></span>, but using locale-specific case-conversion
rules based on the value of <span class="RktSym"><a href="encodings.html#%28def._%28%28quote._~23~25kernel%29._current-locale%29%29" class="RktValLink" data-pltdoc="x">current-locale</a></span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-locale-downcase))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-locale-downcase%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-locale-downcase</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">string</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Like
<span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-downcase%29%29" class="RktValLink" data-pltdoc="x">string-downcase</a></span>, but using locale-specific case-conversion
rules based on the value of <span class="RktSym"><a href="encodings.html#%28def._%28%28quote._~23~25kernel%29._current-locale%29%29" class="RktValLink" data-pltdoc="x">current-locale</a></span>.</div></p><h5 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-source-pkg="racket-doc" x-part-tag="&quot;Additional_String_Functions&quot;">4.4.5<tt>&nbsp;</tt><a name="(part._.Additional_.String_.Functions)"></a><a name="(mod-path._racket/string)"></a>Additional String Functions</h5><p><div class="SIntrapara"><table cellspacing="0" cellpadding="0" class="defmodule"><tr><td align="left"><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._require%29%29" class="RktStxLink" data-pltdoc="x">require</a></span><span class="stt"> </span><a href="strings.html#%28mod-path._racket%2Fstring%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/string</span></a><span class="RktPn">)</span></td><td align="right"><span class="RpackageSpec"><span class="Smaller">&nbsp;package:</span> <a href="https://pkgs.racket-lang.org/package/base" title="Install this package using `raco pkg install base`"><span class="stt">base</span></a></span></td></tr></table></div><div class="SIntrapara">The bindings documented in this section are provided by the <a href="strings.html#%28mod-path._racket%2Fstring%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/string</span></a> and <a href="index.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket</span></a> libraries, but not <a href="index.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/base</span></a>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/string..rkt)._string-append*))"></a><span title="Provided from: racket/string, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-append%2A%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-append*</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="hspace">&nbsp;</span><span class="RktVar">strs</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">strs</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._listof%29%29" class="RktValLink" data-pltdoc="x">listof</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-append%29%29" class="RktValLink" data-pltdoc="x">string-append</a></span>, but the last argument is used as a list
of arguments for <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-append%29%29" class="RktValLink" data-pltdoc="x">string-append</a></span>, so <span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-append%2A%29%29" class="RktValLink" data-pltdoc="x">string-append*</a></span><span class="stt"> </span><span class="RktVar">str</span><span class="stt"> </span><span class="RktSym"><a href="stx-patterns.html#%28form._%28%28lib._racket%2Fprivate%2Fstxcase-scheme..rkt%29._......%29%29" class="RktStxLink" data-pltdoc="x">...</a></span><span class="stt"> </span><span class="RktVar">strs</span><span class="RktPn">)</span> is the same as <span class="RktPn">(</span><span class="RktSym"><a href="procedures.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._apply%29%29" class="RktValLink" data-pltdoc="x">apply</a></span><span class="stt"> </span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-append%29%29" class="RktValLink" data-pltdoc="x">string-append</a></span><span class="stt"> </span><span class="RktVar">str</span><span class="stt"> </span><span class="RktSym"><a href="stx-patterns.html#%28form._%28%28lib._racket%2Fprivate%2Fstxcase-scheme..rkt%29._......%29%29" class="RktStxLink" data-pltdoc="x">...</a></span><span class="stt"> </span><span class="RktVar">strs</span><span class="RktPn">)</span>. In other words, the relationship between
<span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-append%29%29" class="RktValLink" data-pltdoc="x">string-append</a></span> and <span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-append%2A%29%29" class="RktValLink" data-pltdoc="x">string-append*</a></span> is similar to the
one between <span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span> and <span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%2A%29%29" class="RktValLink" data-pltdoc="x">list*</a></span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-append%2A%29%29" class="RktValLink" data-pltdoc="x">string-append*</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"a"</span><span class="hspace">&nbsp;</span><span class="RktVal">"b"</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">"c"</span><span class="hspace">&nbsp;</span><span class="RktVal">"d"</span><span class="RktVal">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"abcd"</span></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-append%2A%29%29" class="RktValLink" data-pltdoc="x">string-append*</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._cdr%29%29" class="RktValLink" data-pltdoc="x">cdr</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28lib._racket%2Flist..rkt%29._append%2A%29%29" class="RktValLink" data-pltdoc="x">append*</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28lib._racket%2Fprivate%2Fmap..rkt%29._map%29%29" class="RktValLink" data-pltdoc="x">map</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="lambda.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">x</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktVal">", "</span><span class="hspace">&nbsp;</span><span class="RktSym">x</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">"Alpha"</span><span class="hspace">&nbsp;</span><span class="RktVal">"Beta"</span><span class="hspace">&nbsp;</span><span class="RktVal">"Gamma"</span><span class="RktVal">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">"Alpha, Beta, Gamma"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/string..rkt)._string-join))"></a><span title="Provided from: racket/string, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-join%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-join</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">strs</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span><span class="RktOpt">[</span></td><td valign="top"><span class="RktVar">sep</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:before-first</span><span class="hspace">&nbsp;</span><span class="RktVar">before-first</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:before-last</span><span class="hspace">&nbsp;</span><span class="RktVar">before-last</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:after-last</span><span class="hspace">&nbsp;</span><span class="RktVar">after-last</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">&rarr;</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">strs</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._listof%29%29" class="RktValLink" data-pltdoc="x">listof</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">sep</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">" "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">before-first</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">""</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">before-last</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVar">sep</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">after-last</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">""</span></td></tr></table></blockquote></div><div class="SIntrapara">Appends the strings in <span class="RktVar">strs</span>, inserting <span class="RktVar">sep</span> between
each pair of strings in <span class="RktVar">strs</span>. <span class="RktVar">before-last</span>,
<span class="RktVar">before-first</span>, and <span class="RktVar">after-last</span> are analogous to the
inputs of <span class="RktSym"><a href="pairs.html#%28def._%28%28lib._racket%2Flist..rkt%29._add-between%29%29" class="RktValLink" data-pltdoc="x">add-between</a></span>: they specify an alternate separator
between the last two strings, a prefix string, and a suffix string
respectively.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-join%29%29" class="RktValLink" data-pltdoc="x">string-join</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">"one"</span><span class="hspace">&nbsp;</span><span class="RktVal">"two"</span><span class="hspace">&nbsp;</span><span class="RktVal">"three"</span><span class="hspace">&nbsp;</span><span class="RktVal">"four"</span><span class="RktVal">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"one two three four"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-join%29%29" class="RktValLink" data-pltdoc="x">string-join</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">"one"</span><span class="hspace">&nbsp;</span><span class="RktVal">"two"</span><span class="hspace">&nbsp;</span><span class="RktVal">"three"</span><span class="hspace">&nbsp;</span><span class="RktVal">"four"</span><span class="RktVal">)</span><span class="hspace">&nbsp;</span><span class="RktVal">", "</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"one, two, three, four"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-join%29%29" class="RktValLink" data-pltdoc="x">string-join</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">"one"</span><span class="hspace">&nbsp;</span><span class="RktVal">"two"</span><span class="hspace">&nbsp;</span><span class="RktVal">"three"</span><span class="hspace">&nbsp;</span><span class="RktVal">"four"</span><span class="RktVal">)</span><span class="hspace">&nbsp;</span><span class="RktVal">" potato "</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"one potato two potato three potato four"</span></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-join%29%29" class="RktValLink" data-pltdoc="x">string-join</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">"x"</span><span class="hspace">&nbsp;</span><span class="RktVal">"y"</span><span class="hspace">&nbsp;</span><span class="RktVal">"z"</span><span class="RktVal">)</span><span class="hspace">&nbsp;</span><span class="RktVal">", "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">#:before-first</span><span class="hspace">&nbsp;</span><span class="RktVal">"Todo: "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">#:before-last</span><span class="hspace">&nbsp;</span><span class="RktVal">" and "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">#:after-last</span><span class="hspace">&nbsp;</span><span class="RktVal">"."</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">"Todo: x, y and z."</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/string..rkt)._string-normalize-spaces))"></a><span title="Provided from: racket/string, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-normalize-spaces%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-normalize-spaces</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">str</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span><span class="RktOpt">[</span></td><td valign="top"><span class="RktVar">sep</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">space</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:trim?</span><span class="hspace">&nbsp;</span><span class="RktVar">trim?</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:repeat?</span><span class="hspace">&nbsp;</span><span class="RktVar">repeat?</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">&rarr;</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">sep</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="regexp.html#%28def._%28%28quote._~23~25kernel%29._regexp~3f%29%29" class="RktValLink" data-pltdoc="x">regexp?</a></span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#px"\\s+"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">space</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">" "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">trim?</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#t</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">repeat?</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr></table></blockquote></div><div class="SIntrapara">Normalizes spaces in the input <span class="RktVar">str</span> by trimming it (using
<span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-trim%29%29" class="RktValLink" data-pltdoc="x">string-trim</a></span> and <span class="RktVar">sep</span>) and replacing all whitespace
sequences in the result with <span class="RktVar">space</span>, which defaults to a
single space.</div></p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-normalize-spaces%29%29" class="RktValLink" data-pltdoc="x">string-normalize-spaces</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">foo bar</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">baz \r\n\t"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"foo bar baz"</span></p></td></tr></table></blockquote></div></p><p>The result of <span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-normalize-spaces%29%29" class="RktValLink" data-pltdoc="x">string-normalize-spaces</a></span><span class="stt"> </span><span class="RktVar">str</span><span class="stt"> </span><span class="RktVar">sep</span><span class="stt"> </span><span class="RktVar">space</span><span class="RktPn">)</span> is the same
as <span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-join%29%29" class="RktValLink" data-pltdoc="x">string-join</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-split%29%29" class="RktValLink" data-pltdoc="x">string-split</a></span><span class="stt"> </span><span class="RktVar">str</span><span class="stt"> </span><span class="RktVar">sep</span><span class="stt"> </span><span class="RktSym">....</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktVar">space</span><span class="RktPn">)</span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/string..rkt)._string-replace))"></a><span title="Provided from: racket/string, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-replace%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-replace</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span><span class="RktVar">from</span><span class="hspace">&nbsp;</span><span class="RktVar">to</span><span class="hspace">&nbsp;</span><span class="RktOpt">[</span><span class="RktPn">#:all?</span><span class="hspace">&nbsp;</span><span class="RktVar">all?</span><span class="RktOpt">]</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">from</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="regexp.html#%28def._%28%28quote._~23~25kernel%29._regexp~3f%29%29" class="RktValLink" data-pltdoc="x">regexp?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">to</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">all?</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#t</span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVar">str</span> with all occurrences of <span class="RktVar">from</span> replaced
with by <span class="RktVar">to</span>. If <span class="RktVar">from</span> is a string, it is matched
literally (as opposed to being used as a <a href="regexp.html#%28tech._regular._expression%29" class="techoutside" data-pltdoc="x"><span class="techinside">regular expression</span></a>).</div></p><p>By default, all occurrences are replaced, but only the first match is
replaced if <span class="RktVar">all?</span> is <span class="RktVal">#f</span>.</p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-replace%29%29" class="RktValLink" data-pltdoc="x">string-replace</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"foo bar baz"</span><span class="hspace">&nbsp;</span><span class="RktVal">"bar"</span><span class="hspace">&nbsp;</span><span class="RktVal">"blah"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"foo blah baz"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/string..rkt)._string-split))"></a><span title="Provided from: racket/string, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-split%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-split</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">str</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span><span class="RktOpt">[</span></td><td valign="top"><span class="RktVar">sep</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:trim?</span><span class="hspace">&nbsp;</span><span class="RktVar">trim?</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:repeat?</span><span class="hspace">&nbsp;</span><span class="RktVar">repeat?</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">&rarr;</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._listof%29%29" class="RktValLink" data-pltdoc="x">listof</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">sep</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="regexp.html#%28def._%28%28quote._~23~25kernel%29._regexp~3f%29%29" class="RktValLink" data-pltdoc="x">regexp?</a></span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#px"\\s+"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">trim?</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#t</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">repeat?</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr></table></blockquote></div><div class="SIntrapara">Splits the input <span class="RktVar">str</span> on <span class="RktVar">sep</span>, returning a list of
substrings of <span class="RktVar">str</span> that are separated by <span class="RktVar">sep</span>, defaulting
to splitting the input on whitespaces. The
input is first trimmed using <span class="RktVar">sep</span> (see <span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-trim%29%29" class="RktValLink" data-pltdoc="x">string-trim</a></span>),
unless <span class="RktVar">trim?</span> is <span class="RktVal">#f</span>. Empty matches are handled in the
same way as for <span class="RktSym"><a href="regexp.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._regexp-split%29%29" class="RktValLink" data-pltdoc="x">regexp-split</a></span>. As a special case, if
<span class="RktVar">str</span> is the empty string after trimming, the result is
<span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">)</span> instead of <span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">""</span><span class="RktVal">)</span>.</div></p><p>Like <span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-trim%29%29" class="RktValLink" data-pltdoc="x">string-trim</a></span>, provide <span class="RktVar">sep</span> to use a different separator,
and <span class="RktVar">repeat?</span> controls matching repeated sequences.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-split%29%29" class="RktValLink" data-pltdoc="x">string-split</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">foo bar</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">baz \r\n\t"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'("foo" "bar" "baz")</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-split%29%29" class="RktValLink" data-pltdoc="x">string-split</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'()</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-split%29%29" class="RktValLink" data-pltdoc="x">string-split</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">"</span><span class="hspace">&nbsp;</span><span class="RktPn">#:trim?</span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'("" "")</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/string..rkt)._string-trim))"></a><span title="Provided from: racket/string, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-trim%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-trim</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">str</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span><span class="RktOpt">[</span></td><td valign="top"><span class="RktVar">sep</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:left?</span><span class="hspace">&nbsp;</span><span class="RktVar">left?</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:right?</span><span class="hspace">&nbsp;</span><span class="RktVar">right?</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:repeat?</span><span class="hspace">&nbsp;</span><span class="RktVar">repeat?</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">&rarr;</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">str</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">sep</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="regexp.html#%28def._%28%28quote._~23~25kernel%29._regexp~3f%29%29" class="RktValLink" data-pltdoc="x">regexp?</a></span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#px"\\s+"</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">left?</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#t</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">right?</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#t</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">repeat?</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr></table></blockquote></div><div class="SIntrapara">Trims the input <span class="RktVar">str</span> by removing prefix and suffix <span class="RktVar">sep</span>,
which defaults to whitespace. A string <span class="RktVar">sep</span> is matched literally
(as opposed to being used as a <a href="regexp.html#%28tech._regular._expression%29" class="techoutside" data-pltdoc="x"><span class="techinside">regular expression</span></a>).</div></p><p>Use <span class="RktPn">#:left?</span><span class="stt"> </span><span class="RktVal">#f</span> or <span class="RktPn">#:right?</span><span class="stt"> </span><span class="RktVal">#f</span> to suppress trimming
the corresponding side. When <span class="RktVar">repeat?</span> is <span class="RktVal">#f</span> (the
default), only one match is removed from each side; when
<span class="RktVar">repeat?</span> is true, all initial or trailing matches are
trimmed (which is an alternative to using a <a href="regexp.html#%28tech._regular._expression%29" class="techoutside" data-pltdoc="x"><span class="techinside">regular expression</span></a>
<span class="RktVar">sep</span> that contains <span class="RktInBG"><span class="hspace"></span><span class="RktIn">+</span><span class="hspace"></span></span>).</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-trim%29%29" class="RktValLink" data-pltdoc="x">string-trim</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">foo bar</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">baz \r\n\t"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"foo bar</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes">baz"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-trim%29%29" class="RktValLink" data-pltdoc="x">string-trim</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">foo bar</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktVal">baz \r\n\t"</span><span class="hspace">&nbsp;</span><span class="RktVal">" "</span><span class="hspace">&nbsp;</span><span class="RktPn">#:repeat?</span><span class="hspace">&nbsp;</span><span class="RktVal">#t</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"foo bar</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes">baz \r\n\t"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-trim%29%29" class="RktValLink" data-pltdoc="x">string-trim</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"aaaxaayaa"</span><span class="hspace">&nbsp;</span><span class="RktVal">"aa"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"axaay"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/string..rkt)._non-empty-string~3f))"></a><span title="Provided from: racket/string, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">non-empty-string?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVal">#t</span> if <span class="RktVar">x</span> is a string and is not empty;
returns <span class="RktVal">#f</span> otherwise.
</div><div class="SIntrapara"><p class="SHistory">Added in version 6.3 of package <span class="stt">base</span>.</p></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/string..rkt)._string-contains~3f))"></a><span title="Provided from: racket/string, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-contains~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-contains?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">s</span><span class="hspace">&nbsp;</span><span class="RktVar">contained</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">s</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">contained</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/string..rkt)._string-prefix~3f))"></a><span title="Provided from: racket/string, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-prefix~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-prefix?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">s</span><span class="hspace">&nbsp;</span><span class="RktVar">prefix</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">s</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">prefix</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/string..rkt)._string-suffix~3f))"></a><span title="Provided from: racket/string, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-suffix~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">string-suffix?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">s</span><span class="hspace">&nbsp;</span><span class="RktVar">suffix</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">s</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">suffix</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Checks whether <span class="RktVar">s</span> includes at any location, start with, or ends with
the second argument, respectively.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-prefix~3f%29%29" class="RktValLink" data-pltdoc="x">string-prefix?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Racket"</span><span class="hspace">&nbsp;</span><span class="RktVal">"R"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-prefix~3f%29%29" class="RktValLink" data-pltdoc="x">string-prefix?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Jacket"</span><span class="hspace">&nbsp;</span><span class="RktVal">"R"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-suffix~3f%29%29" class="RktValLink" data-pltdoc="x">string-suffix?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Racket"</span><span class="hspace">&nbsp;</span><span class="RktVal">"et"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._string-contains~3f%29%29" class="RktValLink" data-pltdoc="x">string-contains?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"Racket"</span><span class="hspace">&nbsp;</span><span class="RktVal">"ack"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Added in version 6.3 of package <span class="stt">base</span>.</p><h5 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-source-pkg="racket-doc" x-part-tag="&quot;format&quot;">4.4.6<tt>&nbsp;</tt><a name="(part._format)"></a><a name="(mod-path._racket/format)"></a>Converting Values to Strings</h5><p><div class="SIntrapara"><table cellspacing="0" cellpadding="0" class="defmodule"><tr><td align="left"><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._require%29%29" class="RktStxLink" data-pltdoc="x">require</a></span><span class="stt"> </span><a href="strings.html#%28mod-path._racket%2Fformat%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/format</span></a><span class="RktPn">)</span></td><td align="right"><span class="RpackageSpec"><span class="Smaller">&nbsp;package:</span> <a href="https://pkgs.racket-lang.org/package/base" title="Install this package using `raco pkg install base`"><span class="stt">base</span></a></span></td></tr></table></div><div class="SIntrapara">The bindings documented in this section are provided by the <a href="strings.html#%28mod-path._racket%2Fformat%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/format</span></a> and <a href="index.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket</span></a> libraries, but not <a href="index.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/base</span></a>.</div></p><p>The <a href="strings.html#%28mod-path._racket%2Fformat%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/format</span></a> library provides functions for
converting Racket values to strings. In addition to features like
padding and numeric formatting, the functions have the virtue of being
shorter than <span class="RktSym"><a href="Writing.html#%28def._%28%28quote._~23~25kernel%29._format%29%29" class="RktValLink" data-pltdoc="x">format</a></span> (with format string),
<span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._number-~3estring%29%29" class="RktValLink" data-pltdoc="x">number-&gt;string</a></span>, or <span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string-append%29%29" class="RktValLink" data-pltdoc="x">string-append</a></span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/format..rkt)._~7ea))"></a><span title="Provided from: racket/format, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValDef RktValLink" data-pltdoc="x">~a</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">v</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktMeta">...</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span><span class="RktOpt">[</span></td><td valign="top"><span class="RktPn">#:separator</span><span class="hspace">&nbsp;</span><span class="RktVar">separator</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:width</span><span class="hspace">&nbsp;</span><span class="RktVar">width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:max-width</span><span class="hspace">&nbsp;</span><span class="RktVar">max-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVar">min-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:limit-marker</span><span class="hspace">&nbsp;</span><span class="RktVar">limit-marker</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:limit-prefix?</span><span class="hspace">&nbsp;</span><span class="RktVar">limit-prefix?</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:align</span><span class="hspace">&nbsp;</span><span class="RktVar">align</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:left-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">left-pad-string</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:right-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">right-pad-string</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">&rarr;</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">separator</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">""</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace">&nbsp;&nbsp;</span></td><td valign="top"><span class="RktVar">max-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">:</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">=</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._or%29%29" class="RktStxLink" data-pltdoc="x">or</a></span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">min-width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._or%29%29" class="RktStxLink" data-pltdoc="x">or</a></span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">limit-marker</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">""</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">limit-prefix?</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">align</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">left</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">center</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">right</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">left</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">" "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">left-pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">right-pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td></tr></table></blockquote></div><div class="SIntrapara">Converts each <span class="RktVar">v</span> to a string in <span class="RktSym"><a href="Writing.html#%28def._%28%28quote._~23~25kernel%29._display%29%29" class="RktValLink" data-pltdoc="x">display</a></span> mode&#8212;<wbr></wbr>that
is, like <span class="RktPn">(</span><span class="RktSym"><a href="Writing.html#%28def._%28%28quote._~23~25kernel%29._format%29%29" class="RktValLink" data-pltdoc="x">format</a></span><span class="stt"> </span><span class="RktVal">"~a"</span><span class="stt"> </span><span class="RktVar">v</span><span class="RktPn">)</span>&#8212;<wbr></wbr>then concatentates the results
with <span class="RktVar">separator</span> between consecutive items, and then pads or
truncates the string to be at least <span class="RktVar">min-width</span> characters and
at most <span class="RktVar">max-width</span> characters.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"north"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"north"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">south</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"south"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#"east"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"east"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#\w</span><span class="hspace">&nbsp;</span><span class="RktVal">"e"</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">st</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"west"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">green</span><span class="hspace">&nbsp;</span><span class="RktVal">#"blue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"(red green blue)"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">17</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"17"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#e1e20</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"100000000000000000000"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"3.141592653589793"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="hspace">&nbsp;</span><span class="RktVal">6.1</span><span class="hspace">&nbsp;</span><span class="RktVal">87</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"2.1071509386211452e+68"</span></p></td></tr></table></blockquote></div></p><p>The <span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span> function is primarily useful for strings, numbers, and other
atomic data. The <span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ev%29%29" class="RktValLink" data-pltdoc="x">~v</a></span> and <span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7es%29%29" class="RktValLink" data-pltdoc="x">~s</a></span> functions are better suited to
compound data.</p><p>Let <span class="RktVar">s</span> be the concatenated string forms of the <span class="RktVar">v</span>s
plus separators. If <span class="RktVar">s</span> is longer than <span class="RktVar">max-width</span>
characters, it is truncated to exactly <span class="RktVar">max-width</span>
characters. If <span class="RktVar">s</span> is shorter than <span class="RktVar">min-width</span>
characters, it is padded to exactly <span class="RktVar">min-width</span>
characters. Otherwise <span class="RktVar">s</span> is returned unchanged. If
<span class="RktVar">min-width</span> is greater than <span class="RktVar">max-width</span>, an exception is
raised.</p><p>If <span class="RktVar">s</span> is longer than <span class="RktVar">max-width</span> characters, it is
truncated and the end of the string is replaced with
<span class="RktVar">limit-marker</span>. If <span class="RktVar">limit-marker</span> is longer than
<span class="RktVar">max-width</span>, an exception is raised.
If <span class="RktVar">limit-prefix?</span> is <span class="RktVal">#t</span>, the beginning of the string
is truncated instead of the end.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"abcde"</span><span class="hspace">&nbsp;</span><span class="RktPn">#:max-width</span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"abcde"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"abcde"</span><span class="hspace">&nbsp;</span><span class="RktPn">#:max-width</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"abcd"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"abcde"</span><span class="hspace">&nbsp;</span><span class="RktPn">#:max-width</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktPn">#:limit-marker</span><span class="hspace">&nbsp;</span><span class="RktVal">"*"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"abc*"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"abcde"</span><span class="hspace">&nbsp;</span><span class="RktPn">#:max-width</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktPn">#:limit-marker</span><span class="hspace">&nbsp;</span><span class="RktVal">"..."</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"a..."</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"The quick brown fox"</span><span class="hspace">&nbsp;</span><span class="RktPn">#:max-width</span><span class="hspace">&nbsp;</span><span class="RktVal">15</span><span class="hspace">&nbsp;</span><span class="RktPn">#:limit-marker</span><span class="hspace">&nbsp;</span><span class="RktVal">""</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"The quick brown"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"The quick brown fox"</span><span class="hspace">&nbsp;</span><span class="RktPn">#:max-width</span><span class="hspace">&nbsp;</span><span class="RktVal">15</span><span class="hspace">&nbsp;</span><span class="RktPn">#:limit-marker</span><span class="hspace">&nbsp;</span><span class="RktVal">"..."</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"The quick br..."</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"The quick brown fox"</span><span class="hspace">&nbsp;</span><span class="RktPn">#:max-width</span><span class="hspace">&nbsp;</span><span class="RktVal">15</span><span class="hspace">&nbsp;</span><span class="RktPn">#:limit-marker</span><span class="hspace">&nbsp;</span><span class="RktVal">"..."</span><span class="hspace">&nbsp;</span><span class="RktPn">#:limit-prefix?</span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"The quick br..."</span></p></td></tr></table></blockquote></div></p><p>If <span class="RktVar">s</span> is shorter than <span class="RktVar">min-width</span>, it is padded to at
least <span class="RktVar">min-width</span> characters. If <span class="RktVar">align</span> is
<span class="RktVal">'</span><span class="RktVal">left</span>, then only right padding is added; if <span class="RktVar">align</span>
is <span class="RktVal">'</span><span class="RktVal">right</span>, then only left padding is added; and if
<span class="RktVar">align</span> is <span class="RktVal">'</span><span class="RktVal">center</span>, then roughly equal amounts of
left padding and right padding are added.</p><p>Padding is specified as a non-empty string. Left padding consists of
<span class="RktVar">left-pad-string</span> repeated in its entirety as many times as
possible followed by a <span class="emph">prefix</span> of <span class="RktVar">left-pad-string</span> to fill
the remaining space. In contrast, right padding consists of a
<span class="emph">suffix</span> of <span class="RktVar">right-pad-string</span> followed by a number of copies
of <span class="RktVar">right-pad-string</span> in its entirety. Thus left padding starts
with the start of <span class="RktVar">left-pad-string</span> and right padding ends with
the end of <span class="RktVar">right-pad-string</span>.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"apple"</span><span class="hspace">&nbsp;</span><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktPn">#:align</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">left</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"apple </span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes"></span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes"></span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes"></span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes"></span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes"></span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes"></span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes">"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"pear"</span><span class="hspace">&nbsp;</span><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktPn">#:align</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">left</span><span class="hspace">&nbsp;</span><span class="RktPn">#:right-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVal">" ."</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"pear . . . . . . . ."</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"plum"</span><span class="hspace">&nbsp;</span><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktPn">#:align</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">right</span><span class="hspace">&nbsp;</span><span class="RktPn">#:left-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVal">". "</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">". . . . . . . . plum"</span></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"orange"</span><span class="hspace">&nbsp;</span><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVal">20</span><span class="hspace">&nbsp;</span><span class="RktPn">#:align</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">center</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">#:left-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVal">"- "</span><span class="hspace">&nbsp;</span><span class="RktPn">#:right-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVal">" -"</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">"- - - -orange- - - -"</span></p></td></tr></table></blockquote></div></p><p>Use <span class="RktVar">width</span> to set both <span class="RktVar">max-width</span> and <span class="RktVar">min-width</span>
simultaneously, ensuring that the resulting string is exactly
<span class="RktVar">width</span> characters long:</p><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"terse"</span><span class="hspace">&nbsp;</span><span class="RktPn">#:width</span><span class="hspace">&nbsp;</span><span class="RktVal">6</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"terse "</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"loquacious"</span><span class="hspace">&nbsp;</span><span class="RktPn">#:width</span><span class="hspace">&nbsp;</span><span class="RktVal">6</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"loquac"</span></p></td></tr></table></blockquote><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/format..rkt)._~7ev))"></a><span title="Provided from: racket/format, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ev%29%29" class="RktValDef RktValLink" data-pltdoc="x">~v</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">v</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktMeta">...</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span><span class="RktOpt">[</span></td><td valign="top"><span class="RktPn">#:separator</span><span class="hspace">&nbsp;</span><span class="RktVar">separator</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:width</span><span class="hspace">&nbsp;</span><span class="RktVar">width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:max-width</span><span class="hspace">&nbsp;</span><span class="RktVar">max-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVar">min-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:limit-marker</span><span class="hspace">&nbsp;</span><span class="RktVar">limit-marker</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:limit-prefix?</span><span class="hspace">&nbsp;</span><span class="RktVar">limit-prefix?</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:align</span><span class="hspace">&nbsp;</span><span class="RktVar">align</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:left-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">left-pad-string</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:right-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">right-pad-string</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">&rarr;</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">separator</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">" "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace">&nbsp;&nbsp;</span></td><td valign="top"><span class="RktVar">max-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">:</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">=</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._or%29%29" class="RktStxLink" data-pltdoc="x">or</a></span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">min-width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._or%29%29" class="RktStxLink" data-pltdoc="x">or</a></span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">limit-marker</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">"..."</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">limit-prefix?</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">align</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">left</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">center</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">right</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">left</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">" "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">left-pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">right-pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span>, but each value is converted like <span class="RktPn">(</span><span class="RktSym"><a href="Writing.html#%28def._%28%28quote._~23~25kernel%29._format%29%29" class="RktValLink" data-pltdoc="x">format</a></span><span class="stt"> </span><span class="RktVal">"~v"</span><span class="stt"> </span><span class="RktVar">v</span><span class="RktPn">)</span>, the default separator is <span class="RktVal">" "</span>, and the default limit
marker is <span class="RktVal">"..."</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ev%29%29" class="RktValLink" data-pltdoc="x">~v</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"north"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"\"north\""</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ev%29%29" class="RktValLink" data-pltdoc="x">~v</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">south</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"'south"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ev%29%29" class="RktValLink" data-pltdoc="x">~v</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#"east"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"#\"east\""</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ev%29%29" class="RktValLink" data-pltdoc="x">~v</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#\w</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"#\\w"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ev%29%29" class="RktValLink" data-pltdoc="x">~v</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">green</span><span class="hspace">&nbsp;</span><span class="RktVal">#"blue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"'(\"red\" green #\"blue\")"</span></p></td></tr></table></blockquote></div></p><p>Use <span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ev%29%29" class="RktValLink" data-pltdoc="x">~v</a></span> to produce text that talks about Racket values.</p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._let%29%29" class="RktStxLink" data-pltdoc="x">let</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">nums</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="for.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._for%2Flist%29%29" class="RktStxLink" data-pltdoc="x">for/list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">i</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="RktPn">]</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktSym">i</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"The even numbers in "</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ev%29%29" class="RktValLink" data-pltdoc="x">~v</a></span><span class="hspace">&nbsp;</span><span class="RktSym">nums</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">" are "</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ev%29%29" class="RktValLink" data-pltdoc="x">~v</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28lib._racket%2Fprivate%2Flist..rkt%29._filter%29%29" class="RktValLink" data-pltdoc="x">filter</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._even~3f%29%29" class="RktValLink" data-pltdoc="x">even?</a></span><span class="hspace">&nbsp;</span><span class="RktSym">nums</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktVal">"."</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">"The even numbers in '(0 1 2 3 4 5 6 7 8 9) are '(0 2 4 6 8)."</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/format..rkt)._~7es))"></a><span title="Provided from: racket/format, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7es%29%29" class="RktValDef RktValLink" data-pltdoc="x">~s</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">v</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktMeta">...</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span><span class="RktOpt">[</span></td><td valign="top"><span class="RktPn">#:separator</span><span class="hspace">&nbsp;</span><span class="RktVar">separator</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:width</span><span class="hspace">&nbsp;</span><span class="RktVar">width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:max-width</span><span class="hspace">&nbsp;</span><span class="RktVar">max-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVar">min-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:limit-marker</span><span class="hspace">&nbsp;</span><span class="RktVar">limit-marker</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:limit-prefix?</span><span class="hspace">&nbsp;</span><span class="RktVar">limit-prefix?</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:align</span><span class="hspace">&nbsp;</span><span class="RktVar">align</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:left-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">left-pad-string</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:right-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">right-pad-string</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">&rarr;</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">separator</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">" "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace">&nbsp;&nbsp;</span></td><td valign="top"><span class="RktVar">max-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">:</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">=</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._or%29%29" class="RktStxLink" data-pltdoc="x">or</a></span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">min-width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._or%29%29" class="RktStxLink" data-pltdoc="x">or</a></span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">limit-marker</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">"..."</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">limit-prefix?</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">align</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">left</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">center</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">right</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">left</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">" "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">left-pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">right-pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span>, but each value is converted like <span class="RktPn">(</span><span class="RktSym"><a href="Writing.html#%28def._%28%28quote._~23~25kernel%29._format%29%29" class="RktValLink" data-pltdoc="x">format</a></span><span class="stt"> </span><span class="RktVal">"~s"</span><span class="stt"> </span><span class="RktVar">v</span><span class="RktPn">)</span>, the default separator is <span class="RktVal">" "</span>, and the default limit
marker is <span class="RktVal">"..."</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7es%29%29" class="RktValLink" data-pltdoc="x">~s</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"north"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"\"north\""</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7es%29%29" class="RktValLink" data-pltdoc="x">~s</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">south</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"south"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7es%29%29" class="RktValLink" data-pltdoc="x">~s</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#"east"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"#\"east\""</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7es%29%29" class="RktValLink" data-pltdoc="x">~s</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#\w</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"#\\w"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7es%29%29" class="RktValLink" data-pltdoc="x">~s</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">green</span><span class="hspace">&nbsp;</span><span class="RktVal">#"blue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"(\"red\" green #\"blue\")"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/format..rkt)._~7ee))"></a><span title="Provided from: racket/format, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ee%29%29" class="RktValDef RktValLink" data-pltdoc="x">~e</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">v</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktMeta">...</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span><span class="RktOpt">[</span></td><td valign="top"><span class="RktPn">#:separator</span><span class="hspace">&nbsp;</span><span class="RktVar">separator</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:width</span><span class="hspace">&nbsp;</span><span class="RktVar">width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:max-width</span><span class="hspace">&nbsp;</span><span class="RktVar">max-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVar">min-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:limit-marker</span><span class="hspace">&nbsp;</span><span class="RktVar">limit-marker</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:limit-prefix?</span><span class="hspace">&nbsp;</span><span class="RktVar">limit-prefix?</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:align</span><span class="hspace">&nbsp;</span><span class="RktVar">align</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:left-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">left-pad-string</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:right-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">right-pad-string</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">&rarr;</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">separator</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">" "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace">&nbsp;&nbsp;</span></td><td valign="top"><span class="RktVar">max-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">:</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">=</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._or%29%29" class="RktStxLink" data-pltdoc="x">or</a></span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">min-width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._or%29%29" class="RktStxLink" data-pltdoc="x">or</a></span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">limit-marker</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">"..."</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">limit-prefix?</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">align</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">left</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">center</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">right</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">left</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">" "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">left-pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">right-pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span>, but each value is converted like <span class="RktPn">(</span><span class="RktSym"><a href="Writing.html#%28def._%28%28quote._~23~25kernel%29._format%29%29" class="RktValLink" data-pltdoc="x">format</a></span><span class="stt"> </span><span class="RktVal">"~e"</span><span class="stt"> </span><span class="RktVar">v</span><span class="RktPn">)</span>, the default separator is <span class="RktVal">" "</span>, and the default limit
marker is <span class="RktVal">"..."</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ee%29%29" class="RktValLink" data-pltdoc="x">~e</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"north"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"\"north\""</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ee%29%29" class="RktValLink" data-pltdoc="x">~e</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">south</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"'south"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ee%29%29" class="RktValLink" data-pltdoc="x">~e</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#"east"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"#\"east\""</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ee%29%29" class="RktValLink" data-pltdoc="x">~e</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#\w</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"#\\w"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ee%29%29" class="RktValLink" data-pltdoc="x">~e</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"red"</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">green</span><span class="hspace">&nbsp;</span><span class="RktVal">#"blue"</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"'(\"red\" green #\"blue\")"</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/format..rkt)._~7er))"></a><span title="Provided from: racket/format, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValDef RktValLink" data-pltdoc="x">~r</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">x</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span><span class="RktOpt">[</span></td><td valign="top"><span class="RktPn">#:sign</span><span class="hspace">&nbsp;</span><span class="RktVar">sign</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:base</span><span class="hspace">&nbsp;</span><span class="RktVar">base</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:precision</span><span class="hspace">&nbsp;</span><span class="RktVar">precision</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:notation</span><span class="hspace">&nbsp;</span><span class="RktVar">notation</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:format-exponent</span><span class="hspace">&nbsp;</span><span class="RktVar">format-exponent</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVar">min-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:groups</span><span class="hspace">&nbsp;</span><span class="RktVar">groups</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:group-sep</span><span class="hspace">&nbsp;</span><span class="RktVar">group-sep</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:decimal-sep</span><span class="hspace">&nbsp;</span><span class="RktVar">decimal-sep</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">&rarr;</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._rational~3f%29%29" class="RktValLink" data-pltdoc="x">rational?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace">&nbsp;&nbsp;</span></td><td valign="top"><span class="RktVar">sign</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">:</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">+</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">++</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">parens</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._let%29%29" class="RktStxLink" data-pltdoc="x">let</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">ind</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._list%2Fc%29%29" class="RktValLink" data-pltdoc="x">list/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._list%2Fc%29%29" class="RktValLink" data-pltdoc="x">list/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym">ind</span><span class="hspace">&nbsp;</span><span class="RktSym">ind</span><span class="hspace">&nbsp;</span><span class="RktSym">ind</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">=</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVal">#f</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace">&nbsp;&nbsp;</span></td><td valign="top"><span class="RktVar">base</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">:</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._integer-in%29%29" class="RktValLink" data-pltdoc="x">integer-in</a></span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="hspace">&nbsp;</span><span class="RktVal">36</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._list%2Fc%29%29" class="RktValLink" data-pltdoc="x">list/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">up</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._integer-in%29%29" class="RktValLink" data-pltdoc="x">integer-in</a></span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="hspace">&nbsp;</span><span class="RktVal">36</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">=</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVal">10</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace">&nbsp;&nbsp;</span></td><td valign="top"><span class="RktVar">precision</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">:</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._list%2Fc%29%29" class="RktValLink" data-pltdoc="x">list/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">=</span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">=</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVal">6</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace">&nbsp;&nbsp;</span></td><td valign="top"><span class="RktVar">notation</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">:</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">positional</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">exponential</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="function-contracts.html#%28form._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._-~3e%29%29" class="RktStxLink" data-pltdoc="x"><span class="nobreak">-&gt;</span></a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._rational~3f%29%29" class="RktValLink" data-pltdoc="x">rational?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">positional</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">exponential</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">=</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVal">'</span><span class="RktVal">positional</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace">&nbsp;&nbsp;</span></td><td valign="top"><span class="RktVar">format-exponent</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">:</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="function-contracts.html#%28form._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._-~3e%29%29" class="RktStxLink" data-pltdoc="x"><span class="nobreak">-&gt;</span></a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">=</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVal">#f</span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">min-width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-positive-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-positive-integer?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">1</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">" "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">groups</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._non-empty-listof%29%29" class="RktValLink" data-pltdoc="x">non-empty-listof</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-positive-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-positive-integer?</a></span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">3</span><span class="RktVal">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">group-sep</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">""</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">decimal-sep</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">"."</span></td></tr></table></blockquote></div><div class="SIntrapara">Converts the rational number <span class="RktVar">x</span> to a string in either
positional or exponential notation, depending on
<span class="RktVar">notation</span>. The exactness or inexactness of <span class="RktVar">x</span> does not
affect its formatting.</div></p><p>The optional arguments control number formatting:</p><p><div class="SIntrapara"><ul><li><p><span class="RktVar">notation</span> &#8212;<wbr></wbr> determines whether the number is printed
in positional or exponential notation. If <span class="RktVar">notation</span> is a
function, it is applied to <span class="RktVar">x</span> to get the notation to be used.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">12345</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"12345"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">12345</span><span class="hspace">&nbsp;</span><span class="RktPn">#:notation</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">exponential</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"1.2345e+04"</span></p></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._let%29%29" class="RktStxLink" data-pltdoc="x">let</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">pick-notation</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="lambda.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktVar">x</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28quote._~23~25kernel%29._if%29%29" class="RktStxLink" data-pltdoc="x">if</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._or%29%29" class="RktStxLink" data-pltdoc="x">or</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c%29%29" class="RktValLink" data-pltdoc="x">&lt;</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._abs%29%29" class="RktValLink" data-pltdoc="x">abs</a></span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktVal">0.001</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3e%29%29" class="RktValLink" data-pltdoc="x">&gt;</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._abs%29%29" class="RktValLink" data-pltdoc="x">abs</a></span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktVal">1000</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">'</span><span class="RktVal">exponential</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVal">'</span><span class="RktVal">positional</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="for.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._for%2Flist%29%29" class="RktStxLink" data-pltdoc="x">for/list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">i</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="sequences.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._in-range%29%29" class="RktValLink" data-pltdoc="x">in-range</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="RktPn">)</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="hspace">&nbsp;</span><span class="RktVal">17</span><span class="hspace">&nbsp;</span><span class="RktSym">i</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">#:notation</span><span class="hspace">&nbsp;</span><span class="RktSym">pick-notation</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">'("17" "289" "4.913e+03" "8.3521e+04")</span></p></td></tr></table></blockquote></div></p></li><li><p><span class="RktVar">precision</span> &#8212;<wbr></wbr> controls the number of digits after the
decimal point (or more accurately, the
<a href="https://en.wikipedia.org/wiki/Radix_point">radix point</a>).
When <span class="RktVar">x</span> is formatted in exponential form, <span class="RktVar">precision</span>
applies to the significand.</p><p>If <span class="RktVar">precision</span> is a natural number, then up to <span class="RktVar">precision</span> digits are
displayed, but trailing zeroes are dropped, and if all digits after the decimal
point are dropped the decimal point is also dropped. If <span class="RktVar">precision</span> is
<span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="stt"> </span><span class="RktVal">'</span><span class="RktVal">=</span><span class="stt"> </span><span class="RktVar">digits</span><span class="RktPn">)</span>, then exactly <span class="RktVar">digits</span> digits after the
decimal point are used, and the decimal point is never dropped.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"3.141593"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span><span class="hspace">&nbsp;</span><span class="RktPn">#:precision</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"3.1416"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span><span class="hspace">&nbsp;</span><span class="RktPn">#:precision</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"3"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1.5</span><span class="hspace">&nbsp;</span><span class="RktPn">#:precision</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"1.5"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1.5</span><span class="hspace">&nbsp;</span><span class="RktPn">#:precision</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">=</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="RktVal">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"1.5000"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktPn">#:precision</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"50"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktPn">#:precision</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">=</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="RktVal">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"50.00"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">50</span><span class="hspace">&nbsp;</span><span class="RktPn">#:precision</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">=</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktVal">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"50."</span></p></td></tr></table></blockquote></div></p></li><li><p><span class="RktVar">decimal-sep</span> specifies what decimal separator is printed.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">123.456</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"123.456"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">123.456</span><span class="hspace">&nbsp;</span><span class="RktPn">#:decimal-sep</span><span class="hspace">&nbsp;</span><span class="RktVal">","</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"123,456"</span></p></td></tr></table></blockquote></div></p></li><li><p><span class="RktVar">groups</span> controls how digits of the integral part of the number
are separated into groups.
Rightmost numbers of <span class="RktVar">groups</span> are used to group rightmost digits of the integral part.
The leftmost number of <span class="RktVar">groups</span> is used repeatedly to group leftmost digits.
The <span class="RktVar">group-sep</span> argument specifies which separator to use between digit groups.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1234567890</span><span class="hspace">&nbsp;</span><span class="RktPn">#:groups</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">3</span><span class="RktVal">)</span><span class="hspace">&nbsp;</span><span class="RktPn">#:group-sep</span><span class="hspace">&nbsp;</span><span class="RktVal">","</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"1,234,567,890"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1234567890</span><span class="hspace">&nbsp;</span><span class="RktPn">#:groups</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="RktVal">)</span><span class="hspace">&nbsp;</span><span class="RktPn">#:group-sep</span><span class="hspace">&nbsp;</span><span class="RktVal">","</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"12,345,678,90"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1234567890</span><span class="hspace">&nbsp;</span><span class="RktPn">#:groups</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">1</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="RktVal">)</span><span class="hspace">&nbsp;</span><span class="RktPn">#:group-sep</span><span class="hspace">&nbsp;</span><span class="RktVal">"_"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"1_2_3_4_5_678_90"</span></p></td></tr></table></blockquote></div></p></li><li><p><span class="RktVar">min-width</span> &#8212;<wbr></wbr> if <span class="RktVar">x</span> would normally be printed
with fewer than <span class="RktVar">min-width</span> digits (including the decimal
point but not including the sign indicator), the digits are left-padded
using <span class="RktVar">pad-string</span>.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">17</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"17"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">17</span><span class="hspace">&nbsp;</span><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes">17"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-4</span>2</span><span class="hspace">&nbsp;</span><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"-</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes">42"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1.5</span><span class="hspace">&nbsp;</span><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">" 1.5"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1.5</span><span class="hspace">&nbsp;</span><span class="RktPn">#:precision</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">" </span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes"></span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes"></span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes">1.5"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1.5</span><span class="hspace">&nbsp;</span><span class="RktPn">#:precision</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">=</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="RktVal">)</span><span class="hspace">&nbsp;</span><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVal">10</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes"></span><span class="hspace">&nbsp;&nbsp;</span><span class="RktRes">1.5000"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#e1e10</span><span class="hspace">&nbsp;</span><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVal">6</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"10000000000"</span></p></td></tr></table></blockquote></div></p></li><li><p><span class="RktVar">pad-string</span> &#8212;<wbr></wbr> specifies the string used to pad the
number to at least <span class="RktVar">min-width</span> characters (not including the
sign indicator). The padding is placed between the sign and the normal
digits of <span class="RktVar">x</span>.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">17</span><span class="hspace">&nbsp;</span><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktPn">#:pad-string</span><span class="hspace">&nbsp;</span><span class="RktVal">"0"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"0017"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-4</span>2</span><span class="hspace">&nbsp;</span><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktPn">#:pad-string</span><span class="hspace">&nbsp;</span><span class="RktVal">"0"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"-0042"</span></p></td></tr></table></blockquote></div></p></li><li><p><div class="SIntrapara"><span class="RktVar">sign</span> &#8212;<wbr></wbr> controls how the sign of the number is
indicated:
</div><div class="SIntrapara"><ul><li><p>If <span class="RktVar">sign</span> is <span class="RktVal">#f</span> (the default), no sign output is
generated if <span class="RktVar">x</span> is either positive or zero, and a minus sign is
prefixed if <span class="RktVar">x</span> is negative.</p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="for.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._for%2Flist%29%29" class="RktStxLink" data-pltdoc="x">for/list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">17</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-4</span>2</span><span class="RktVal">)</span><span class="RktPn">]</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'("17" "0" "-42")</span></p></td></tr></table></blockquote></div></p></li><li><p>If <span class="RktVar">sign</span> is <span class="RktVal">'</span><span class="RktVal">+</span>, no sign output is generated if
<span class="RktVar">x</span> is zero, a plus sign is prefixed if <span class="RktVar">x</span> is positive, and a
minus sign is prefixed if <span class="RktVar">x</span> is negative.</p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="for.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._for%2Flist%29%29" class="RktStxLink" data-pltdoc="x">for/list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">17</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-4</span>2</span><span class="RktVal">)</span><span class="RktPn">]</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktPn">#:sign</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">+</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'("+17" "0" "-42")</span></p></td></tr></table></blockquote></div></p></li><li><p>If <span class="RktVar">sign</span> is <span class="RktVal">'</span><span class="RktVal">++</span>, a plus sign is prefixed if <span class="RktVar">x</span>
is zero or positive, and a minus sign is prefixed if <span class="RktVar">x</span> is negative.</p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="for.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._for%2Flist%29%29" class="RktStxLink" data-pltdoc="x">for/list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">17</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-4</span>2</span><span class="RktVal">)</span><span class="RktPn">]</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktPn">#:sign</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">++</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'("+17" "+0" "-42")</span></p></td></tr></table></blockquote></div></p></li><li><p>If <span class="RktVar">sign</span> is <span class="RktVal">'</span><span class="RktVal">parens</span>, no sign output is generated if
<span class="RktVar">x</span> is zero or positive, and the number is enclosed in parentheses if
<span class="RktVar">x</span> is negative.</p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="for.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._for%2Flist%29%29" class="RktStxLink" data-pltdoc="x">for/list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">17</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-4</span>2</span><span class="RktVal">)</span><span class="RktPn">]</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktPn">#:sign</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">parens</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">'("17" "0" "(42)")</span></p></td></tr></table></blockquote></div></p></li><li><p>If <span class="RktVar">sign</span> is <span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="stt"> </span><span class="RktVar">pos-ind</span><span class="stt"> </span><span class="RktVar">zero-ind</span><span class="stt"> </span><span class="RktVar">neg-ind</span><span class="RktPn">)</span>, then
<span class="RktVar">pos-ind</span>, <span class="RktVar">zero-ind</span>, and <span class="RktVar">neg-ind</span> are used to
indicate positive, zero, and negative numbers, respectively. Each indicator is
either a string to be used as a prefix or a list containing two strings: a
prefix and a suffix.</p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="let.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._let%29%29" class="RktStxLink" data-pltdoc="x">let</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktSym">sign-table</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">(</span><span class="RktVal">""</span><span class="hspace">&nbsp;</span><span class="RktVal">" up"</span><span class="RktVal">)</span><span class="hspace">&nbsp;</span><span class="RktVal">"an even "</span><span class="hspace">&nbsp;</span><span class="RktVal">(</span><span class="RktVal">""</span><span class="hspace">&nbsp;</span><span class="RktVal">" down"</span><span class="RktVal">)</span><span class="RktVal">)</span><span class="RktPn">]</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="for.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._for%2Flist%29%29" class="RktStxLink" data-pltdoc="x">for/list</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktPn">[</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">17</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal"><span class="nobreak">-4</span>2</span><span class="RktVal">)</span><span class="RktPn">]</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktPn">#:sign</span><span class="hspace">&nbsp;</span><span class="RktSym">sign-table</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">'("17 up" "an even 0" "42 down")</span></p></td></tr></table></blockquote></div></p><p>The default behavior is equivalent to <span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">""</span><span class="stt"> </span><span class="RktVal">""</span><span class="stt"> </span><span class="RktVal">"-"</span><span class="RktVal">)</span>; the
<span class="RktVal">'</span><span class="RktVal">parens</span> mode is equivalent to <span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">""</span><span class="stt"> </span><span class="RktVal">""</span><span class="stt"> </span><span class="RktVal">(</span><span class="RktVal">"("</span><span class="stt"> </span><span class="RktVal">")"</span><span class="RktVal">)</span><span class="RktVal">)</span>.</p></li></ul></div></p></li><li><p><span class="RktVar">base</span> &#8212;<wbr></wbr> controls the base that <span class="RktVar">x</span> is formatted in. If
<span class="RktVar">base</span> is a number greater than <span class="RktVal">10</span>, then lower-case letters are
used. If <span class="RktVar">base</span> is <span class="RktPn">(</span><span class="RktSym"><a href="pairs.html#%28def._%28%28quote._~23~25kernel%29._list%29%29" class="RktValLink" data-pltdoc="x">list</a></span><span class="stt"> </span><span class="RktVal">'</span><span class="RktVal">up</span><span class="stt"> </span><span class="RktVar">base*</span><span class="RktPn">)</span> and <span class="RktVar">base*</span> is
greater than <span class="RktVal">10</span>, then upper-case letters are used.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">100</span><span class="hspace">&nbsp;</span><span class="RktPn">#:base</span><span class="hspace">&nbsp;</span><span class="RktVal">7</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"202"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">4.5</span><span class="hspace">&nbsp;</span><span class="RktPn">#:base</span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"100.1"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">3735928559</span><span class="hspace">&nbsp;</span><span class="RktPn">#:base</span><span class="hspace">&nbsp;</span><span class="RktVal">16</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"deadbeef"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">3735928559</span><span class="hspace">&nbsp;</span><span class="RktPn">#:base</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">up</span><span class="hspace">&nbsp;</span><span class="RktVal">16</span><span class="RktVal">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"DEADBEEF"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">3735928559</span><span class="hspace">&nbsp;</span><span class="RktPn">#:base</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">(</span><span class="RktVal">up</span><span class="hspace">&nbsp;</span><span class="RktVal">16</span><span class="RktVal">)</span><span class="hspace">&nbsp;</span><span class="RktPn">#:notation</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">exponential</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"D.EADBEF*16^+07"</span></p></td></tr></table></blockquote></div></p></li><li><p><span class="RktVar">format-exponent</span> &#8212;<wbr></wbr> determines how the exponent is displayed.</p><p>If <span class="RktVar">format-exponent</span> is a string, the exponent is displayed with an
explicit sign (as with a <span class="RktVar">sign</span> of <span class="RktVal">'</span><span class="RktVal">++</span>) and at least two
digits, separated from the significand by the &ldquo;exponent marker&rdquo;
<span class="RktVar">format-exponent</span>:</p><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1234</span><span class="hspace">&nbsp;</span><span class="RktPn">#:notation</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">exponential</span><span class="hspace">&nbsp;</span><span class="RktPn">#:format-exponent</span><span class="hspace">&nbsp;</span><span class="RktVal">"E"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"1.234E+03"</span></p></td></tr></table></blockquote><p>If <span class="RktVar">format-exponent</span> is <span class="RktVal">#f</span>, the &ldquo;exponent marker&rdquo; is
<span class="RktVal">"e"</span> if <span class="RktVar">base</span> is <span class="RktVal">10</span> and a string involving
<span class="RktVar">base</span> otherwise:</p><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1234</span><span class="hspace">&nbsp;</span><span class="RktPn">#:notation</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">exponential</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"1.234e+03"</span></p></td></tr><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1234</span><span class="hspace">&nbsp;</span><span class="RktPn">#:notation</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">exponential</span><span class="hspace">&nbsp;</span><span class="RktPn">#:base</span><span class="hspace">&nbsp;</span><span class="RktVal">8</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"2.322*8^+03"</span></p></td></tr></table></blockquote><p>If <span class="RktVar">format-exponent</span> is a procedure, it is applied to the exponent and
the resulting string is appended to the significand:</p><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7er%29%29" class="RktValLink" data-pltdoc="x">~r</a></span><span class="hspace">&nbsp;</span><span class="RktVal">1234</span><span class="hspace">&nbsp;</span><span class="RktPn">#:notation</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">exponential</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">#:format-exponent</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="lambda.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._lambda%29%29" class="RktStxLink" data-pltdoc="x">lambda</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">e</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="Writing.html#%28def._%28%28quote._~23~25kernel%29._format%29%29" class="RktValLink" data-pltdoc="x">format</a></span><span class="hspace">&nbsp;</span><span class="RktVal">"E~a"</span><span class="hspace">&nbsp;</span><span class="RktSym">e</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><p><span class="RktRes">"1.234E3"</span></p></td></tr></table></blockquote></li></ul></div><div class="SIntrapara"><p class="SHistory">Changed in version 8.5.0.5 of package <span class="stt">base</span>: Added <span class="RktPn">#:groups</span>, <span class="RktPn">#:group-sep</span> and <span class="RktPn">#:decimal-sep</span>.</p></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/format..rkt)._~7e..a))"></a><span title="Provided from: racket/format, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7e..a%29%29" class="RktValDef RktValLink" data-pltdoc="x">~.a</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">v</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktMeta">...</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span><span class="RktOpt">[</span></td><td valign="top"><span class="RktPn">#:separator</span><span class="hspace">&nbsp;</span><span class="RktVar">separator</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:width</span><span class="hspace">&nbsp;</span><span class="RktVar">width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:max-width</span><span class="hspace">&nbsp;</span><span class="RktVar">max-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVar">min-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:limit-marker</span><span class="hspace">&nbsp;</span><span class="RktVar">limit-marker</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:limit-prefix?</span><span class="hspace">&nbsp;</span><span class="RktVar">limit-prefix?</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:align</span><span class="hspace">&nbsp;</span><span class="RktVar">align</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:left-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">left-pad-string</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:right-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">right-pad-string</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">&rarr;</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">separator</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">""</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace">&nbsp;&nbsp;</span></td><td valign="top"><span class="RktVar">max-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">:</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">=</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._or%29%29" class="RktStxLink" data-pltdoc="x">or</a></span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">min-width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._or%29%29" class="RktStxLink" data-pltdoc="x">or</a></span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">limit-marker</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">""</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">limit-prefix?</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">align</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">left</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">center</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">right</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">left</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">" "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">left-pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">right-pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/format..rkt)._~7e..v))"></a><span title="Provided from: racket/format, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7e..v%29%29" class="RktValDef RktValLink" data-pltdoc="x">~.v</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">v</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktMeta">...</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span><span class="RktOpt">[</span></td><td valign="top"><span class="RktPn">#:separator</span><span class="hspace">&nbsp;</span><span class="RktVar">separator</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:width</span><span class="hspace">&nbsp;</span><span class="RktVar">width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:max-width</span><span class="hspace">&nbsp;</span><span class="RktVar">max-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVar">min-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:limit-marker</span><span class="hspace">&nbsp;</span><span class="RktVar">limit-marker</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:limit-prefix?</span><span class="hspace">&nbsp;</span><span class="RktVar">limit-prefix?</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:align</span><span class="hspace">&nbsp;</span><span class="RktVar">align</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:left-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">left-pad-string</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:right-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">right-pad-string</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">&rarr;</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">separator</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">" "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace">&nbsp;&nbsp;</span></td><td valign="top"><span class="RktVar">max-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">:</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">=</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._or%29%29" class="RktStxLink" data-pltdoc="x">or</a></span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">min-width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._or%29%29" class="RktStxLink" data-pltdoc="x">or</a></span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">limit-marker</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">"..."</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">limit-prefix?</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">align</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">left</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">center</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">right</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">left</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">" "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">left-pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">right-pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/format..rkt)._~7e..s))"></a><span title="Provided from: racket/format, racket | Package: base"><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7e..s%29%29" class="RktValDef RktValLink" data-pltdoc="x">~.s</a></span></span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktVar">v</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktMeta">...</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span><span class="RktOpt">[</span></td><td valign="top"><span class="RktPn">#:separator</span><span class="hspace">&nbsp;</span><span class="RktVar">separator</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:width</span><span class="hspace">&nbsp;</span><span class="RktVar">width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:max-width</span><span class="hspace">&nbsp;</span><span class="RktVar">max-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:min-width</span><span class="hspace">&nbsp;</span><span class="RktVar">min-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:limit-marker</span><span class="hspace">&nbsp;</span><span class="RktVar">limit-marker</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:limit-prefix?</span><span class="hspace">&nbsp;</span><span class="RktVar">limit-prefix?</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:align</span><span class="hspace">&nbsp;</span><span class="RktVar">align</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:left-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">left-pad-string</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">#:right-pad-string</span><span class="hspace">&nbsp;</span><span class="RktVar">right-pad-string</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">&rarr;</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">separator</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">" "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace">&nbsp;&nbsp;</span></td><td valign="top"><span class="RktVar">max-width</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">:</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr><tr><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top">=</td><td valign="top"><span class="hspace">&nbsp;</span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._or%29%29" class="RktStxLink" data-pltdoc="x">or</a></span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">min-width</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._or%29%29" class="RktStxLink" data-pltdoc="x">or</a></span><span class="hspace">&nbsp;</span><span class="RktVar">width</span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">limit-marker</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">"..."</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">limit-prefix?</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">align</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">left</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">center</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">right</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">left</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">" "</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">left-pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">right-pad-string</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fstring..rkt%29._non-empty-string~3f%29%29" class="RktValLink" data-pltdoc="x">non-empty-string?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVar">pad-string</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ea%29%29" class="RktValLink" data-pltdoc="x">~a</a></span>, <span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7ev%29%29" class="RktValLink" data-pltdoc="x">~v</a></span>, and <span class="RktSym"><a href="strings.html#%28def._%28%28lib._racket%2Fformat..rkt%29._~7es%29%29" class="RktValLink" data-pltdoc="x">~s</a></span>, but each <span class="RktVar">v</span> is
formatted like <span class="RktPn">(</span><span class="RktSym"><a href="Writing.html#%28def._%28%28quote._~23~25kernel%29._format%29%29" class="RktValLink" data-pltdoc="x">format</a></span><span class="stt"> </span><span class="RktVal">"~.a"</span><span class="stt"> </span><span class="RktVar">v</span><span class="RktPn">)</span>, <span class="RktPn">(</span><span class="RktSym"><a href="Writing.html#%28def._%28%28quote._~23~25kernel%29._format%29%29" class="RktValLink" data-pltdoc="x">format</a></span><span class="stt"> </span><span class="RktVal">"~.v"</span><span class="stt"> </span><span class="RktVar">v</span><span class="RktPn">)</span>,
and <span class="RktPn">(</span><span class="RktSym"><a href="Writing.html#%28def._%28%28quote._~23~25kernel%29._format%29%29" class="RktValLink" data-pltdoc="x">format</a></span><span class="stt"> </span><span class="RktVal">"~.s"</span><span class="stt"> </span><span class="RktVar">v</span><span class="RktPn">)</span>, respectively.</div></p><div class="navsetbottom"><span class="navleft"><form class="searchform"><input class="searchbox" id="searchbox" type="text" tabindex="1" placeholder="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, &quot;8.6&quot;, &quot;../&quot;);"/></form>&nbsp;&nbsp;<a href="https://docs.racket-lang.org/index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot(&quot;8.6&quot;);">top</a><span class="tocsettoggle">&nbsp;&nbsp;<a href="javascript:void(0);" title="show/hide table of contents" onclick="TocsetToggle();">contents</a></span></span><span class="navright">&nbsp;&nbsp;<a href="extflonums.html" title="backward to &quot;4.3.5 Extflonums&quot;" data-pltdoc="x">&larr; prev</a>&nbsp;&nbsp;<a href="data.html" title="up to &quot;4 Datatypes&quot;" data-pltdoc="x">up</a>&nbsp;&nbsp;<a href="bytestrings.html" title="forward to &quot;4.5 Byte Strings&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div></div></div><div id="contextindicator">&nbsp;</div></body></html>