1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Maxima 5.47.0 Manual: Introduction to Strings</title>
<meta name="description" content="Maxima 5.47.0 Manual: Introduction to Strings">
<meta name="keywords" content="Maxima 5.47.0 Manual: Introduction to Strings">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="maxima_toc.html#Top" rel="start" title="Top">
<link href="maxima_423.html#Function-and-Variable-Index" rel="index" title="Function and Variable Index">
<link href="maxima_toc.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="maxima_14.html#Strings" rel="up" title="Strings">
<link href="maxima_16.html#Functions-and-Variables-for-Strings" rel="next" title="Functions and Variables for Strings">
<link href="maxima_14.html#Strings" rel="previous" title="Strings">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
body {color: black; background: white; margin-left: 8%; margin-right: 13%;
font-family: "FreeSans", sans-serif}
h1 {font-size: 150%; font-family: "FreeSans", sans-serif}
h2 {font-size: 125%; font-family: "FreeSans", sans-serif}
h3 {font-size: 100%; font-family: "FreeSans", sans-serif}
a[href] {color: rgb(0,0,255); text-decoration: none;}
a[href]:hover {background: rgb(220,220,220);}
div.textbox {border: solid; border-width: thin; padding-top: 1em;
padding-bottom: 1em; padding-left: 2em; padding-right: 2em}
div.titlebox {border: none; padding-top: 1em; padding-bottom: 1em;
padding-left: 2em; padding-right: 2em; background: rgb(200,255,255);
font-family: sans-serif}
div.synopsisbox {
border: none; padding-top: 1em; padding-bottom: 1em; padding-left: 2em;
padding-right: 2em; background: rgb(255,220,255);}
pre.example {border: 1px solid rgb(180,180,180); padding-top: 1em;
padding-bottom: 1em; padding-left: 1em; padding-right: 1em;
background-color: rgb(238,238,255)}
div.spacerbox {border: none; padding-top: 2em; padding-bottom: 2em}
div.image {margin: 0; padding: 1em; text-align: center}
div.categorybox {border: 1px solid gray; padding-top: 1em; padding-bottom: 1em;
padding-left: 1em; padding-right: 1em; background: rgb(247,242,220)}
img {max-width:80%; max-height: 80%; display: block; margin-left: auto; margin-right: auto}
-->
</style>
<link rel="icon" href="figures/favicon.ico">
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6>"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Introduction-to-Strings"></a>
<div class="header">
<p>
Next: <a href="maxima_16.html#Functions-and-Variables-for-Strings" accesskey="n" rel="next">Functions and Variables for Strings</a>, Previous: <a href="maxima_14.html#Strings" accesskey="p" rel="previous">Strings</a>, Up: <a href="maxima_14.html#Strings" accesskey="u" rel="up">Strings</a> [<a href="maxima_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="maxima_423.html#Function-and-Variable-Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Introduction-to-Strings-1"></a>
<h4 class="subsection">5.2.1 Introduction to Strings</h4>
<a name="index-backslash"></a>
<p>Strings (quoted character sequences) are enclosed in double quote marks <code>"</code>
for input, and displayed with or without the quote marks, depending on the
global variable <code><a href="maxima_16.html#stringdisp">stringdisp</a></code>.
</p>
<p>Strings may contain any characters, including embedded tab, newline, and
carriage return characters. The sequence <code>\"</code> is recognized as a literal
double quote, and <code>\\</code> as a literal backslash. When backslash appears at
the end of a line, the backslash and the line termination (either newline or
carriage return and newline) are ignored, so that the string continues with the
next line. No other special combinations of backslash with another character
are recognized; when backslash appears before any character other than <code>"</code>,
<code>\</code>, or a line termination, the backslash is ignored. There is no way to
represent a special character (such as tab, newline, or carriage return)
except by embedding the literal character in the string.
</p>
<p>There is no character type in Maxima; a single character is represented as a
one-character string.
</p>
<p>The <code>stringproc</code> add-on package contains many functions for working with
strings.
</p>
<p>Examples:
</p>
<div class="example">
<pre class="example">(%i1) s_1 : "This is a string.";
(%o1) This is a string.
</pre><pre class="example">(%i2) s_2 : "Embedded \"double quotes\" and backslash \\ characters.";
(%o2) Embedded "double quotes" and backslash \ characters.
</pre><pre class="example">(%i3) s_3 : "Embedded line termination
in this string.";
(%o3) Embedded line termination
in this string.
</pre><pre class="example">(%i4) s_4 : "Ignore the \
line termination \
characters in \
this string.";
(%o4) Ignore the line termination characters in this string.
</pre><pre class="example">(%i5) stringdisp : false;
(%o5) false
</pre><pre class="example">(%i6) s_1;
(%o6) This is a string.
</pre><pre class="example">(%i7) stringdisp : true;
(%o7) true
</pre><pre class="example">(%i8) s_1;
(%o8) "This is a string."
</pre></div>
<div class=categorybox>
Categories:<a href="maxima_424.html#Category_003a-Syntax">Syntax</a>
·</div>
<a name="Item_003a-DataTypes_002fnode_002fFunctions-and-Variables-for-Strings"></a><hr>
<div class="header">
<p>
Next: <a href="maxima_16.html#Functions-and-Variables-for-Strings" accesskey="n" rel="next">Functions and Variables for Strings</a>, Previous: <a href="maxima_14.html#Strings" accesskey="p" rel="previous">Strings</a>, Up: <a href="maxima_14.html#Strings" accesskey="u" rel="up">Strings</a> [<a href="maxima_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="maxima_423.html#Function-and-Variable-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|