File: Scanf.Scanning.html

package info (click to toggle)
ocaml-doc 3.10-1
  • links: PTS, VCS
  • area: non-free
  • in suites: lenny
  • size: 7,476 kB
  • ctags: 2,644
  • sloc: ml: 325; sh: 64; makefile: 34; ansic: 15
file content (151 lines) | stat: -rw-r--r-- 9,687 bytes parent folder | download
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
148
149
150
151
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link rel="Up" href="Scanf.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Index of module types" rel=Appendix href="index_module_types.html">
<link title="Arg" rel="Chapter" href="Arg.html">
<link title="Arith_status" rel="Chapter" href="Arith_status.html">
<link title="Array" rel="Chapter" href="Array.html">
<link title="ArrayLabels" rel="Chapter" href="ArrayLabels.html">
<link title="Big_int" rel="Chapter" href="Big_int.html">
<link title="Bigarray" rel="Chapter" href="Bigarray.html">
<link title="Buffer" rel="Chapter" href="Buffer.html">
<link title="Callback" rel="Chapter" href="Callback.html">
<link title="CamlinternalMod" rel="Chapter" href="CamlinternalMod.html">
<link title="CamlinternalOO" rel="Chapter" href="CamlinternalOO.html">
<link title="Char" rel="Chapter" href="Char.html">
<link title="Complex" rel="Chapter" href="Complex.html">
<link title="Condition" rel="Chapter" href="Condition.html">
<link title="Dbm" rel="Chapter" href="Dbm.html">
<link title="Digest" rel="Chapter" href="Digest.html">
<link title="Dynlink" rel="Chapter" href="Dynlink.html">
<link title="Event" rel="Chapter" href="Event.html">
<link title="Filename" rel="Chapter" href="Filename.html">
<link title="Format" rel="Chapter" href="Format.html">
<link title="Gc" rel="Chapter" href="Gc.html">
<link title="Genlex" rel="Chapter" href="Genlex.html">
<link title="Graphics" rel="Chapter" href="Graphics.html">
<link title="GraphicsX11" rel="Chapter" href="GraphicsX11.html">
<link title="Hashtbl" rel="Chapter" href="Hashtbl.html">
<link title="Int32" rel="Chapter" href="Int32.html">
<link title="Int64" rel="Chapter" href="Int64.html">
<link title="Lazy" rel="Chapter" href="Lazy.html">
<link title="Lexing" rel="Chapter" href="Lexing.html">
<link title="List" rel="Chapter" href="List.html">
<link title="ListLabels" rel="Chapter" href="ListLabels.html">
<link title="Map" rel="Chapter" href="Map.html">
<link title="Marshal" rel="Chapter" href="Marshal.html">
<link title="MoreLabels" rel="Chapter" href="MoreLabels.html">
<link title="Mutex" rel="Chapter" href="Mutex.html">
<link title="Nativeint" rel="Chapter" href="Nativeint.html">
<link title="Num" rel="Chapter" href="Num.html">
<link title="Obj" rel="Chapter" href="Obj.html">
<link title="Oo" rel="Chapter" href="Oo.html">
<link title="Parsing" rel="Chapter" href="Parsing.html">
<link title="Pervasives" rel="Chapter" href="Pervasives.html">
<link title="Printexc" rel="Chapter" href="Printexc.html">
<link title="Printf" rel="Chapter" href="Printf.html">
<link title="Queue" rel="Chapter" href="Queue.html">
<link title="Random" rel="Chapter" href="Random.html">
<link title="Scanf" rel="Chapter" href="Scanf.html">
<link title="Set" rel="Chapter" href="Set.html">
<link title="Sort" rel="Chapter" href="Sort.html">
<link title="Stack" rel="Chapter" href="Stack.html">
<link title="StdLabels" rel="Chapter" href="StdLabels.html">
<link title="Str" rel="Chapter" href="Str.html">
<link title="Stream" rel="Chapter" href="Stream.html">
<link title="String" rel="Chapter" href="String.html">
<link title="StringLabels" rel="Chapter" href="StringLabels.html">
<link title="Sys" rel="Chapter" href="Sys.html">
<link title="Thread" rel="Chapter" href="Thread.html">
<link title="ThreadUnix" rel="Chapter" href="ThreadUnix.html">
<link title="Tk" rel="Chapter" href="Tk.html">
<link title="Unix" rel="Chapter" href="Unix.html">
<link title="UnixLabels" rel="Chapter" href="UnixLabels.html">
<link title="Weak" rel="Chapter" href="Weak.html"><title>Scanf.Scanning</title>
</head>
<body>
<div class="navbar">&nbsp;<a href="Scanf.html">Up</a>
&nbsp;</div>
<center><h1>Module <a href="type_Scanf.Scanning.html">Scanf.Scanning</a></h1></center>
<br>
<pre><span class="keyword">module</span> Scanning: <code class="code"><span class="keyword">sig</span></code> <a href="Scanf.Scanning.html">..</a> <code class="code"><span class="keyword">end</span></code></pre><a name="6_Scanningbuffers"></a>
<h6>Scanning buffers</h6><br>
<hr width="100%">
<pre><span class="keyword">type</span> <a name="TYPEscanbuf"></a><code class="type"></code>scanbuf </pre>
<div class="info">
The type of scanning buffers. A scanning buffer is the source from which a
    formatted input function gets characters. The scanning buffer holds the
    current state of the scan, plus a function to get the next char from the
    input, and a token buffer to store the string matched so far.
<p>

    Note: a scan may often require to examine one character in advance;
    when this ``lookahead'' character does not belong to the token read,
    it is stored back in the scanning buffer and becomes the next
    character read.<br>
</div>

<pre><span class="keyword">val</span> <a name="VALstdib"></a>stdib : <code class="type"><a href="Scanf.Scanning.html#TYPEscanbuf">scanbuf</a></code></pre><div class="info">
The scanning buffer reading from <code class="code">stdin</code>.
    <code class="code">stdib</code> is equivalent to <code class="code"><span class="constructor">Scanning</span>.from_channel stdin</code>.
<p>

    Note: when input is read interactively from <code class="code">stdin</code>, the newline character
    that triggers the evaluation is incorporated in the input; thus, scanning
    specifications must properly skip this character (simply add a <code class="code"><span class="string">'\n'</span></code>
    as the last character of the format string).<br>
</div>
<pre><span class="keyword">val</span> <a name="VALfrom_string"></a>from_string : <code class="type">string -> <a href="Scanf.Scanning.html#TYPEscanbuf">scanbuf</a></code></pre><div class="info">
<code class="code"><span class="constructor">Scanning</span>.from_string s</code> returns a scanning buffer which reads from the
    given string.
    Reading starts from the first character in the string.
    The end-of-input condition is set when the end of the string is reached.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALfrom_file"></a>from_file : <code class="type">string -> <a href="Scanf.Scanning.html#TYPEscanbuf">scanbuf</a></code></pre><div class="info">
Bufferized file reading in text mode. The efficient and usual
    way to scan text mode files (in effect, <code class="code">from_file</code> returns a
    scanning buffer that reads characters in large chunks, rather than one
    character at a time as buffers returned by <code class="code">from_channel</code> do).
    <code class="code"><span class="constructor">Scanning</span>.from_file fname</code> returns a scanning buffer which reads
    from the given file <code class="code">fname</code> in text mode.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALfrom_file_bin"></a>from_file_bin : <code class="type">string -> <a href="Scanf.Scanning.html#TYPEscanbuf">scanbuf</a></code></pre><div class="info">
Bufferized file reading in binary mode.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALfrom_function"></a>from_function : <code class="type">(unit -> char) -> <a href="Scanf.Scanning.html#TYPEscanbuf">scanbuf</a></code></pre><div class="info">
<code class="code"><span class="constructor">Scanning</span>.from_function f</code> returns a scanning buffer with the given
    function as its reading method.
<p>

    When scanning needs one more character, the given function is called.
<p>

    When the function has no more character to provide, it must signal an
    end-of-input condition by raising the exception <code class="code"><span class="constructor">End_of_file</span></code>.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALfrom_channel"></a>from_channel : <code class="type"><a href="Pervasives.html#TYPEin_channel">in_channel</a> -> <a href="Scanf.Scanning.html#TYPEscanbuf">scanbuf</a></code></pre><div class="info">
<code class="code"><span class="constructor">Scanning</span>.from_channel ic</code> returns a scanning buffer which reads
    one character at a time from the input channel <code class="code">ic</code>, starting at the
    current reading position.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALend_of_input"></a>end_of_input : <code class="type"><a href="Scanf.Scanning.html#TYPEscanbuf">scanbuf</a> -> bool</code></pre><div class="info">
<code class="code"><span class="constructor">Scanning</span>.end_of_input ib</code> tests the end-of-input condition of the given
    scanning buffer.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALbeginning_of_input"></a>beginning_of_input : <code class="type"><a href="Scanf.Scanning.html#TYPEscanbuf">scanbuf</a> -> bool</code></pre><div class="info">
<code class="code"><span class="constructor">Scanning</span>.beginning_of_input ib</code> tests the beginning of input condition of
    the given scanning buffer.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALname_of_input"></a>name_of_input : <code class="type"><a href="Scanf.Scanning.html#TYPEscanbuf">scanbuf</a> -> string</code></pre><div class="info">
<code class="code"><span class="constructor">Scanning</span>.file_name_of_input ib</code> returns the name of the character source
    for the scanning buffer <code class="code">ib</code>.<br>
</div>
</body></html>