Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 7ebd25ac536d248d499a3ce2acda963a > files > 4846

Macaulay2-1.3.1-8.fc15.i686.rpm

<?xml version="1.0" encoding="utf-8" ?>  <!-- for emacs: -*- coding: utf-8 -*- -->
<!-- Apache may like this line in the file .htaccess: AddCharset utf-8 .html -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN"	 "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head><title>openInOut -- open an input output file</title>
<link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/>
</head>
<body>
<table class="buttons">
  <tr>
    <td><div><a href="_open__Listener_lp__String_rp.html">next</a> | <a href="_open__In_lp__String_rp.html">previous</a> | <a href="_open__Listener_lp__String_rp.html">forward</a> | <a href="_open__In_lp__String_rp.html">backward</a> | up | <a href="index.html">top</a> | <a href="master.html">index</a> | <a href="toc.html">toc</a> | <a href="http://www.math.uiuc.edu/Macaulay2/">Macaulay2 web site</a></div>

    </td>
  </tr>
</table>
<hr/>
<div><h1>openInOut -- open an input output file</h1>
<div class="single"><h2>Synopsis</h2>
<ul><li><div class="list"><dl class="element"><dt class="heading">Usage: </dt><dd class="value"><div><tt>openInOut f</tt></div>
</dd></dl>
</div>
</li>
<li><div class="single">Inputs:<ul><li><span><tt>f</tt>, <span>a <a href="___String.html">string</a></span> or <span>a <a href="___File.html">file</a></span></span></li>
</ul>
</div>
</li>
<li><div class="single">Outputs:<ul><li><span>an open input output file</span></li>
</ul>
</div>
</li>
</ul>
</div>
<div class="single"><h2>Description</h2>
<div><p>There are various options for the argument <tt>f</tt>.</p>
<ul><li>a string not starting with <tt>!</tt> or <tt>$</tt>: the string is taken as the name of an input output file to open.  For example, in Unix, it might be a named pipe.  A filename starting with <tt>~/</tt> will have the tilde replaced by the user's home directory.</li>
<li>a string of the form <tt>"!cmd"</tt>: the command <tt>cmd</tt> will be started, and two pipes will be opened, connected to its standard input and standard output file descriptors.  Warning: pipes hold only 4096 bites, so if you write more than that to the resulting input output file (as input for the command) without reading any data, you may block while the command is blocked waiting to write more output; in this case, Macaulay2 will appear to hang.</li>
<li>a string of the form <tt>"$hostname:service"</tt>: a connection will be made to the specified service at the specified host.  If the service port is omitted, along with the colon, then port 2500 is used.  If the hostname is omitted, an incoming connection will be waited for.</li>
<li>a listener created previously by <a href="_open__Listener_lp__String_rp.html" title="open a port for listening">openListener</a>: a new connection will be created.  To avoid blocking the Macaulay2 process while waiting for the incoming connection, use <a href="_is__Ready_lp__File_rp.html" title="whether a file has data available for reading">isReady</a>.</li>
</ul>
<p>In order to open a socket successfully, there must be a process accepting connections for the desired service on the specified host.</p>
<p>The various forms listed above can be used also with all other input output operations that open files, such as <a href="_open__In_lp__String_rp.html" title="open an output file">openIn</a>, <a href="_open__Out_lp__String_rp.html" title="open an output file">openOut</a>, <a href="_get.html" title="get the contents of a file">get</a>, and <a href="__lt_lt.html" title="a binary operator (file output, ...)">&lt;&lt;</a>, with data transfer possible only in the direction specified.  A possibly confusing asymmetry is that with <tt>openIn "!foo"</tt> or with <tt>get "!foo"</tt> the standard input of the command <tt>foo</tt> is closed, but with <tt>openOut "!foo"</tt> the standard output of the command <tt>foo</tt> is connected to the standard output of the parent Macaulay2 process.</p>
</div>
</div>
<div class="single"><h2>See also</h2>
<ul><li><span><a href="_open__In_lp__String_rp.html" title="open an output file">openIn</a> -- open an output file</span></li>
<li><span><a href="_open__Out_lp__String_rp.html" title="open an output file">openOut</a> -- open an output file</span></li>
<li><span><a href="_open__Listener_lp__String_rp.html" title="open a port for listening">openListener</a> -- open a port for listening</span></li>
</ul>
</div>
<div class="waystouse"><h2>Ways to use <tt>openInOut</tt> :</h2>
<ul><li>openInOut(File)</li>
<li>openInOut(String)</li>
</ul>
</div>
</div>
</body>
</html>