123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- \section{Input and Output}
- \begin{Command}{IN}
- \index{input}
- The \name{in} command takes a list of file names and inputs each file into
- the system.
- \begin{Syntax}
- \name{in} \meta{filename}\{,\meta{filename}\}\optional
- \end{Syntax}
- \meta{filename} must be in the current directory, or be a valid pathname.
- If the file name is not an identifier, double quote marks (\name{"}) are
- needed around the file name.
- \begin{Comments}
- A message is given if the file cannot be found, or has a mistake
- in it.
- Ending the command with a semicolon causes the file to be echoed to the
- screen; ending it with a dollar sign does not echo the file. If you want
- some but not all of a file echoed, turn the switch \nameref{echo} on or off
- in the file.
- An efficient way to develop procedures in REDUCE is to write them into a file
- using a system editor of your choice, and then input the
- files into an active REDUCE session. REDUCE reparses the procedure as
- it takes information from the file, overwriting the previous procedure
- definition. When it accepts the procedure, it echoes its name to the screen.
- Data can also be input to the system from files.
- Files to be read in should always end in \nameref{end}\name{;} to avoid
- end-of-file problems. Note that this is an additional \name{end;} to any
- ending procedures in the file.
- \end{Comments}
- \end{Command}
- \begin{Command}{INPUT}
- \index{interactive}
- The \name{input} command returns the input expression to the REDUCE numbered
- prompt that is its argument.
- \begin{Syntax}
- \name{input}\(\meta{number}\) or \name{input} \meta{number}
- \end{Syntax}
- \meta{number} must be between 1 and the current REDUCE prompt number.
- %%%\begin{Examples}
- %%%\explanation{(In the following examples, unlike most others, the numbered
- %%%prompt is shown.)}
- %%%\end{Examples}
- \begin{Comments}
- An expression brought back by \name{input} can be reexecuted with new
- values or switch settings, or used as an argument in another expression.
- The command \nameref{ws} brings back the results of a numbered REDUCE
- statement. Two lists contain every input and every output statement since
- the beginning of the session. If your session is very long, storage space
- begins to fill up with these expressions, so it is a good idea to end the
- session once in a while, saving needed expressions to files with the
- \nameref{saveas} and \nameref{out} commands.
- %%% You can also clear the history lists with the \name{forget} command.
- Switch settings and \nameref{let} statements can also be reexecuted by using
- \name{input}.
- An error message is given if a number is called for that has not yet been used.
- \end{Comments}
- \end{Command}
- \begin{Command}{OUT}
- \index{output}\index{open}
- The \name{out} command directs output to the filename that is its argument,
- until another \name{out} changes the output file, or \nameref{shut} closes it.
- \begin{Syntax}
- \name{out} \meta{filename} or \name{out "}\meta{pathname} \name{"} or \name{out t}
- \end{Syntax}
- \meta{filename} must be in the current directory, or be a valid complete
- file description for your system. If the file name is not
- in the current directory, quote marks are needed around the file name.
- If the file already exists, a message is printed allowing you to decide
- whether to supersede the contents of the file with new material.
- \begin{Comments}
- To restore output to the terminal, type \name{out t}, or \nameref{shut} the
- file. When you use \name{out t}, the file remains available, and if you
- open it again (with another \name{out}), new material is appended rather
- than overwriting.
- To write a file using \name{out} that can be input at a later time, the
- switch \nameref{nat} must be turned off, so that the standard linear form
- is saved that can be read in by \nameref{in}. If \name{nat} is on, exponents
- are printed on the line above the expression, which causes trouble
- when REDUCE tries to read the file.
- There is a slight complication if you are using the \name{out} command from
- inside a file to create another file. The \nameref{echo} switch is normally
- off at the top-level and on while reading files (so you can see what is
- being read in). If you create a file using \name{out} at the top-level,
- the result lines are printed into the file as you want them. But if you
- create such a file from inside a file, the \name{echo} switch is on, and
- every line is echoed, first as you typed it, then as REDUCE parsed it, and
- then once more for the file. Therefore, when you create a file {\it from}
- a file, you need to turn \name{echo} off explicitly before the \name{out}
- command, and turn it back on when you \name{shut} the created file, so your
- executing file echoes as it should. This behavior also means that as you
- watch the file execute, you cannot see the lines that are being put into
- the \name{out} file. As soon as you turn \name{echo} on, you can see
- output again.
- \end{Comments}
- \end{Command}
- \begin{Command}{SHUT}
- \index{output}\index{close}
- The \name{shut} command closes output files.
- \begin{Syntax}
- \name{shut} \meta{filename}\{,\meta{filename}\}\optional
- \end{Syntax}
- \meta{filename} must have been a file opened by \nameref{out}.
- \begin{Comments}
- A file that has been opened by \nameref{out} must be \name{shut} before it is
- brought in by \nameref{in}. Files that have been opened by \name{out} should
- always be \name{shut} before the end of the REDUCE session, to avoid either
- loss of information or the printing of extraneous information into the file.
- In most systems, terminating a session by \nameref{bye} closes all open
- output files.
- \end{Comments}
- \end{Command}
|