summaryrefslogtreecommitdiff
path: root/docsrc/xlisp/xlisp-doc/reference/string-equal-i.htm
diff options
context:
space:
mode:
Diffstat (limited to 'docsrc/xlisp/xlisp-doc/reference/string-equal-i.htm')
-rw-r--r--docsrc/xlisp/xlisp-doc/reference/string-equal-i.htm111
1 files changed, 111 insertions, 0 deletions
diff --git a/docsrc/xlisp/xlisp-doc/reference/string-equal-i.htm b/docsrc/xlisp/xlisp-doc/reference/string-equal-i.htm
new file mode 100644
index 0000000..f83b91c
--- /dev/null
+++ b/docsrc/xlisp/xlisp-doc/reference/string-equal-i.htm
@@ -0,0 +1,111 @@
+<html><head><title>XLISP tring-equal</title>
+
+<link rel="stylesheet" type="text/css" href="reference.css">
+
+</head>
+
+<body>
+
+<a href="../start.htm">Nyquist / XLISP 2.0</a>&nbsp; -&nbsp;
+<a href="../manual/contents.htm">Contents</a> |
+<a href="../tutorials/tutorials.htm">Tutorials</a> |
+<a href="../examples/examples.htm">Examples</a> |
+<a href="reference-index.htm">Reference</a>
+
+<hr>
+
+<h1>string-equal</h1>
+
+<hr>
+
+<p><table cellpadding="0" cellspacing="0" style="margin-left:10px"><tbody>
+<tr valign="top">
+ <td><nobr>Type:</nobr></td>
+ <td><nobr>&nbsp;&nbsp;-&nbsp;&nbsp;</nobr></td>
+ <td width="100%"><nobr>function (subr)</nobr></td>
+</tr>
+<tr valign="top">
+ <td><nobr>Source:</nobr></td>
+ <td><nobr>&nbsp;&nbsp;-&nbsp;&nbsp;</nobr></td>
+ <td width="100%"><nobr>xlstr.c</nobr></td>
+</tr>
+</tbody></table></p>
+
+<h2>Syntax</h2>
+
+<dl>
+<dt>(string-equal <i>string1 string2</i> [<i>key offset</i>] ... )</dt>
+<dd><i>stringN</i> - a string expression<br>
+<i>key</i> - a keyword [one of :start1 :start2 :end1 :end2]<br>
+<i>offset</i> - an optional integer expression for a keyword<br>
+returns - <a href="t.htm">&nbsp;T&nbsp;</a> if <i>string1</i>
+equal to <i>string2</i>,
+<a href="nil.htm">NIL</a> otherwise<br>
+<b>Note:</b> case is not significant with this function</dd>
+</dl>
+
+<h2>Description</h2>
+
+<p>The 'string-equal' function takes two string arguments. It checks to see
+if the string arguments have the same values.
+<a href="t.htm">&nbsp;T&nbsp;</a> is returned if 'string1' is
+equal to 'string2', <a href="nil.htm">NIL</a> is returned
+otherwise. This test is not case sensitive, the character '#\a' is
+considered to be the same as '#\A'.</p>
+
+<p>The keyword arguments allow for accessing substrings within 'string1' and
+'string2'. The keyword arguments each require a keyword ':start1', ':end1',
+':start2' or ':end2' and a single integer expression as a pair with the
+keyword first and the integer second. The pairs may be in any order. The
+':startN' keywords specify the starting offset of the substring. A value of
+0 starts the string at the beginning [no offset]. The ':endN' keywords
+specify the ending offset of the substring. A value of 3 ends the string
+after the 3rd character [an offset of 3 characters].</p>
+
+<h2>Examples</h2>
+
+<pre class="example">
+(string-equal "a" "b") <font color="#008844">; returns NIL</font>
+(string-equal "a" "a") <font color="#008844">; returns T</font>
+(string-equal "a" "A") <font color="#008844">; returns T</font>
+(string-equal "A" "a") <font color="#008844">; returns T</font>
+(string-equal "abc" "abc ") <font color="#008844">; returns NIL</font>
+
+(string-equal "J Smith" "K Smith" :start1 1 :start2 1) <font color="#008844">; strip off the first chars</font>
+ <font color="#008844">; returns T</font>
+
+(string-equal "abc" "123456789" :end2 3 :end1 3) <font color="#008844">; leave just the first 3 chars</font>
+ <font color="#008844">; returns NIL</font>
+</pre>
+
+<p><b>Bug:</b> The 'string-equal' function is listed in the original XLISP
+documentation as 'string-equalp'. In the XLISP interpreter a call to
+'string-equalp' causes an error:</p>
+
+<pre class="example">
+<font color="#AA0000">error: unbound function - STRING-EQUALP</font>
+</pre>
+
+<p>The 'string-equal' function works exactly as the 'string-equalp' function
+described in the XLISP manual. This bug had obviously been corrected in
+the manual only but never in the interpreter. As the bug still exists with
+<nobr>Nyquist 2.36</nobr> in <nobr>July 2007</nobr> as well as all other
+<nobr>XLISP 2.x</nobr> implementations I know, I have changed both manuals
+to 'string-equal' even if I myself whould consider 'string-equalp' as the
+better name.</p>
+
+<p>See the
+<a href="../manual/xlisp-man-025.htm#string-equalp">string-equal</a>
+function in the <nobr>XLISP 2.0</nobr> manual.</p>
+
+<p><nobr>&nbsp;&nbsp;<a href="#top">Back to Top</nobr></a></p>
+
+<hr>
+
+<a href="../start.htm">Nyquist / XLISP 2.0</a>&nbsp; -&nbsp;
+<a href="../manual/contents.htm">Contents</a> |
+<a href="../tutorials/tutorials.htm">Tutorials</a> |
+<a href="../examples/examples.htm">Examples</a> |
+<a href="reference-index.htm">Reference</a>
+
+</body></html> \ No newline at end of file