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"> <a href="Scanf.html">Up</a>
</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>
|