File: read-char.htm

package info (click to toggle)
nyquist 3.12%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 58,036 kB
  • sloc: ansic: 74,355; lisp: 20,485; java: 9,390; cpp: 6,695; sh: 207; xml: 58; makefile: 39
file content (100 lines) | stat: -rw-r--r-- 3,864 bytes parent folder | download | duplicates (7)
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
<html><head><title>XLISP read-char</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>read-char</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>xlfio.c</nobr></td>
</tr>
</tbody></table></p>

<h2>Syntax</h2>

<dl>
<dt>(read-char [<i>source</i>])</dt>
<dd><i>source</i> - an optional source, must be a file pointer or stream,
default is <a href="global-standard-input.htm">*standard-input*</a><br>
returns - the character</dd>
</dl>

<h2>Description</h2>

<p>The 'read-char' function reads a single character from the specified
'source'. The character read is returned as a single character value for
the result. The 'source' may be a file pointer or a stream. If there is no
'source', <a href="global-standard-input.htm">*standard-input*</a> is the default.
If an end-of-file is encountered in the 'source', then
<a href="nil.htm">NIL</a> will be returned as the result.</p>

<h2>Examples</h2>

<pre class="example">
(setq fp (open "f" :direction :output))  <font color="#008844">; set up file</font>
(print 12.34 fp)
(close fp)

(setq fp (open "f" :direction :input))   <font color="#008844">; now read the file</font>
(read-char fp)                           <font color="#008844">; returns #\1</font>
(read-char fp)                           <font color="#008844">; returns #\2</font>
(read-char fp)                           <font color="#008844">; returns #\.</font>
(read-char fp)                           <font color="#008844">; returns #\3</font>
(read-char fp)                           <font color="#008844">; returns #\4</font>
(read-char fp)                           <font color="#008844">; returns #\Newline</font>
(read-char fp)                           <font color="#008844">; returns NIL - empty</font>
(close fp)
</pre>

<p><b>Common Lisp:</b> The XLISP and Common Lisp 'read-char' functions are
compatible for simple cases. They both allow for the optional 'source'.
However, in Common Lisp, there are addition parameters which occur right
after 'source'. So, when porting from Common Lisp to XLISP, remember there
are additional arguments in Common Lisp's 'read-char' function.</p>

<p><b>Common Lisp:</b> Common Lisp specifies that 'read' operations with a
'source' of <a href="nil.htm">NIL</a> will come from
<a href="global-standard-input.htm">*standard-input*</a>. XLISP does not read the
input from <a href="global-standard-input.htm">*standard-input*</a> with a
'source' of <a href="nil.htm">NIL</a>. Common Lisp also
specifies that a 'source' of <a href="t.htm">&nbsp;T&nbsp;</a>
will read from *terminal-io* which is not defined in XLISP by default. XLISP
does not allow <a href="t.htm">&nbsp;T&nbsp;</a> as a valid
argument for 'source'.</p>

<p>See the
<a href="../manual/xlisp-man-029.htm#read-char">read-char</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>