[BACK]Return to io.texi CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-doc / parts / builtin

Diff for /OpenXM/src/asir-doc/parts/builtin/io.texi between version 1.5 and 1.12

version 1.5, 2000/11/13 00:16:36 version 1.12, 2003/11/01 23:58:44
Line 1 
Line 1 
 @comment $OpenXM: OpenXM/src/asir-doc/parts/builtin/io.texi,v 1.4 2000/04/28 08:12:01 noro Exp $  @comment $OpenXM: OpenXM/src/asir-doc/parts/builtin/io.texi,v 1.11 2003/04/20 08:01:28 noro Exp $
 \BJP  \BJP
 @node $BF~=PNO(B,,, $BAH$_9~$_H!?t(B  @node $BF~=PNO(B,,, $BAH$_9~$_H!?t(B
 @section $BF~=PNO(B  @section $BF~=PNO(B
Line 16 
Line 16 
 * bsave bload::  * bsave bload::
 * bload27::  * bload27::
 * print::  * print::
 * open_file close_file get_line get_byte purge_stdin::  * open_file close_file get_line get_byte put_byte purge_stdin::
 @end menu  @end menu
   
 \JP @node end quit,,, $BF~=PNO(B  \JP @node end quit,,, $BF~=PNO(B
Line 96  line of the input file is strongly recommended.
Line 96  line of the input file is strongly recommended.
 @itemize @bullet  @itemize @bullet
 \BJP  \BJP
 @item  @item
 $B<B:]$N%W%m%0%i%`$N=q$-J}$O(B, @xref{$B%f!<%68@8l(B Asir}.  $B<B:]$N%W%m%0%i%`$N=q$-J}$O(B, @pxref{$B%f!<%68@8l(B Asir}.
  $B%F%-%9%H%U%!%$%k$rFI$_9~$`>l9g(B, @code{cpp}   $B%F%-%9%H%U%!%$%k$rFI$_9~$`>l9g(B, @code{cpp}
 $B$rDL$9$N$G(B, C $B$N%W%m%0%i%`F1MM(B @code{#include}, @code{#define} $B$r;H$&$3$H$,$G$-$k(B.  $B$rDL$9$N$G(B, C $B$N%W%m%0%i%`F1MM(B @code{#include}, @code{#define} $B$r;H$&$3$H$,$G$-$k(B.
 @item  @item
Line 121  Windows $BHG$b%G%#%l%/%H%j$N%;%Q%l!<%?$H$7$F(B @samp
Line 121  Windows $BHG$b%G%#%l%/%H%j$N%;%Q%l!<%?$H$7$F(B @samp
 \E  \E
 \BEG  \BEG
 @item  @item
 @xref{User language Asir} for practical programming.  See @ref{User language Asir} for practical programming.
 Since text files are read through @code{cpp},  Since text files are read through @code{cpp},
 the user can use, as in C programs, @code{#include} and @code{#define}  the user can use, as in C programs, @code{#include} and @code{#define}
 in @b{Asir} program source codes.  in @b{Asir} program source codes.
Line 140  On Windows, @code{get_rootdir()/lib} is searched if 
Line 140  On Windows, @code{get_rootdir()/lib} is searched if 
 We recommend to write an @code{end} command at the last line of  We recommend to write an @code{end} command at the last line of
 your program.  If not, @b{Asir} will not give you a prompt after it  your program.  If not, @b{Asir} will not give you a prompt after it
 will have executed @code{load} command.  will have executed @code{load} command.
 (Escape with an interrupt character (@pxref{Interruption}),  (Escape with an interrupt character (@ref{Interruption}),
 if you have lost yourself.)  if you have lost yourself.)
 Even in such a situation,  Even in such a situation,
 @b{Asir} itself is still ready to read keyboard inputs as usual.  @b{Asir} itself is still ready to read keyboard inputs as usual.
Line 521  The last 0 will not be printed. )
Line 521  The last 0 will not be printed. )
 @item  @item
 Formatted outputs are not currently supported.  Formatted outputs are not currently supported.
 If one wishes to output multiple objects by a single @code{print()} command,  If one wishes to output multiple objects by a single @code{print()} command,
 use list like @code{[@var{obj1,...}]}, which is not so beautiful, but  use list like @code{[@var{obj1},...]}, which is not so beautiful, but
 convenient to minimize programming efforts.  convenient to minimize programming efforts.
 \E  \E
 @end itemize  @end itemize
   
 @example  @example
 [8] def cat(L) @{ while ( L != [] ) @{ print(car(L),0); L = cdr(L);@} print(""); @}  [8] def cat(L) @{ while ( L != [] ) @{ print(car(L),0); L = cdr(L);@}
   print(""); @}
 [9] cat([xyz,123,"gahaha"])$  [9] cat([xyz,123,"gahaha"])$
 xyz123gahaha  xyz123gahaha
 @end example  @end example
   
 \JP @node open_file close_file get_line get_byte purge_stdin,,, $BF~=PNO(B  \JP @node open_file close_file get_line get_byte put_byte purge_stdin,,, $BF~=PNO(B
 \EG @node open_file close_file get_line get_byte purge_stdin,,, Inputs and Outputs  \EG @node open_file close_file get_line get_byte put_byte purge_stdin,,, Inputs and Outputs
 @subsection @code{open_file}, @code{close_file}, @code{get_line}, @code{get_byte}, @code{purge_stdin}  @subsection @code{open_file}, @code{close_file}, @code{get_line}, @code{get_byte}, @code{put_byte}, @code{purge_stdin}
 @findex open_file  @findex open_file
 @findex close_file  @findex close_file
 @findex get_line  @findex get_line
 @findex get_byte  @findex get_byte
   @findex put_byte
 @findex purge_stdin  @findex purge_stdin
   
 @table @t  @table @t
 @item open_file("@var{filename}")  @item open_file("@var{filename}"[,"@var{mode}"])
 \JP :: @var{filename} $B$rFI$_=P$7MQ$K%*!<%W%s$9$k(B.  \JP :: @var{filename} $B$r%*!<%W%s$9$k(B.
 \EG :: Opens @var{filename} for reading.  \EG :: Opens @var{filename} for reading.
 @item close_file(@var{num})  @item close_file(@var{num})
 \JP :: $B<1JL;R(B @var{num} $B$N%U%!%$%k$r%/%m!<%:$9$k(B.  \JP :: $B<1JL;R(B @var{num} $B$N%U%!%$%k$r%/%m!<%:$9$k(B.
Line 554  xyz123gahaha
Line 556  xyz123gahaha
 @item get_byte(@var{num})  @item get_byte(@var{num})
 \JP :: $B<1JL;R(B @var{num} $B$N%U%!%$%k$+$i(B 1 $B%P%$%HFI$`(B.  \JP :: $B<1JL;R(B @var{num} $B$N%U%!%$%k$+$i(B 1 $B%P%$%HFI$`(B.
 \EG :: Reads a byte from the file indicated by a descriptor @var{num}.  \EG :: Reads a byte from the file indicated by a descriptor @var{num}.
   @item put_byte(@var{num},@var{c})
   \JP :: $B<1JL;R(B @var{num} $B$N%U%!%$%k$K(B 1 $B%P%$%H(B @var{c} $B$r=q$/(B.
   \EG :: Writes a byte @var{c} to the file indicated by a descriptor @var{num}.
 @item purge_stdin()  @item purge_stdin()
   @item purge_stdin()
 \JP :: $BI8=`F~NO$N%P%C%U%!$r%/%j%"$9$k(B.  \JP :: $BI8=`F~NO$N%P%C%U%!$r%/%j%"$9$k(B.
 \EG :: Clears the buffer for the standard input.  \EG :: Clears the buffer for the standard input.
 @end table  @end table
   
 @table @var  @table @var
 @item return  @item return
 \JP @code{open_file()} : $B@0?t(B ($B<1JL;R(B); @code{close_file()} : 1; @code{get_line()} : $BJ8;zNs(B, @code{get_byte()} : $B@0?t(B  \JP @code{open_file()} : $B@0?t(B ($B<1JL;R(B); @code{close_file()} : 1; @code{get_line()} : $BJ8;zNs(B; @code{get_byte()}, @code{put_byte()} : $B@0?t(B
 \EG @code{open_file()} : integer (fild id); @code{close_file()} : 1; @code{get_line()} : string, @code{get_byte()} : integer  \EG @code{open_file()} : integer (fild id); @code{close_file()} : 1; @code{get_line()} : string; @code{get_byte()}, @code{put_byte()} : integer
 @item filename  @item filename
 \JP $B%U%!%$%kL>(B ($B%Q%9L>(B)  \JP $B%U%!%$%kL>(B ($B%Q%9L>(B)
 \EG file (path) name  \EG file (path) name
   @item mode
   \JP $BJ8;zNs(B
   \EG string
 @item num  @item num
 \JP $BHsIi@0?t(B ($B%U%!%$%k<1JL;R(B)  \JP $BHsIi@0?t(B ($B%U%!%$%k<1JL;R(B)
 \EG non-negative integer (file descriptor)  \EG non-negative integer (file descriptor)
Line 573  xyz123gahaha
Line 582  xyz123gahaha
   
 @itemize @bullet  @itemize @bullet
 \BJP  \BJP
 @item @code{open_file()} $B$OFI$_=P$7MQ$K%U%!%$%k$r%*!<%W%s$9$k(B. $B@.8y$7$?(B  @item @code{open_file()} $B$O%U%!%$%k$r%*!<%W%s$9$k(B. @var{mode} $B;XDj$,(B
 $B>l9g(B, $B%U%!%$%k<1JL;R$H$7$FHsIi@0?t$rJV$9(B. $B<:GT$N>l9g%(%i!<$H$J$k(B.  $B$J$$>l9gFI$_=P$7MQ(B, @var{mode} $B;XDj$,$"$k>l9g$K$O(B, C $B$NI8=`F~=PNO(B
   $B4X?t(B @code{fopen()} $B$KBP$9$k%b!<%I;XDj$H$_$J$9(B. $B$?$H$($P?75,=q$-9~$_(B
   $BMQ$N>l9g(B @code{"w"}, $BKvHxDI2C$N>l9g(B @code{"a"} $B$J$I(B.
   $B@.8y$7$?>l9g(B, $B%U%!%$%k<1JL;R$H$7$FHsIi@0?t$rJV$9(B. $B<:GT$N>l9g%(%i!<$H$J$k(B.
 $BITMW$K$J$C$?%U%!%$%k$O(B @code{close_file()} $B$G%/%m!<%:$9$k(B.  $BITMW$K$J$C$?%U%!%$%k$O(B @code{close_file()} $B$G%/%m!<%:$9$k(B.
   $BFCJL$J%U%!%$%kL>(B unix://stdin, unix://stdout, unix://stderr $B$rM?$($k$H(B
   $B$=$l$>$lI8=`F~NO(B, $BI8=`=PNO(B, $BI8=`%(%i!<=PNO$r%*!<%W%s$9$k(B.
   $B$3$N>l9g%b!<%I;XDj$OL5;k$5$l$k(B.
 @item @code{get_line()} $B$O8=:_%*!<%W%s$7$F$$$k%U%!%$%k$+$i(B 1 $B9TFI$_(B,  @item @code{get_line()} $B$O8=:_%*!<%W%s$7$F$$$k%U%!%$%k$+$i(B 1 $B9TFI$_(B,
 $BJ8;zNs$H$7$FJV$9(B. $B0z?t$,$J$$>l9g(B, $BI8=`F~NO$+$i(B 1 $B9TFI$`(B.  $BJ8;zNs$H$7$FJV$9(B. $B0z?t$,$J$$>l9g(B, $BI8=`F~NO$+$i(B 1 $B9TFI$`(B.
 @item @code{get_byte()} $B$O8=:_%*!<%W%s$7$F$$$k%U%!%$%k$+$i(B 1 $B%P%$%HFI$_(B  @item @code{get_byte()} $B$O8=:_%*!<%W%s$7$F$$$k%U%!%$%k$+$i(B 1 $B%P%$%HFI$_(B
 $B@0?t$H$7$FJV$9(B.  $B@0?t$H$7$FJV$9(B.
   @item @code{put_byte()} $B$O8=:_%*!<%W%s$7$F$$$k%U%!%$%k$K(B 1 $B%P%$%H=q$-(B,
   $B$=$N%P%$%H$r@0?t$H$7$FJV$9(B.
 @item $B%U%!%$%k$N=*$j$^$GFI$s$@8e$K(B @code{get_line()} $B$,8F$P$l$?>l9g(B,  @item $B%U%!%$%k$N=*$j$^$GFI$s$@8e$K(B @code{get_line()} $B$,8F$P$l$?>l9g(B,
 $B@0?t$N(B 0 $B$rJV$9(B.  $B@0?t$N(B 0 $B$rJV$9(B.
 @item $BFI$_=P$7$?J8;zNs$O(B, $BI,MW$,$"$l$P(B @code{sub_str()} $B$J$I$NJ8;zNs=hM}(B  @item $BFI$_=P$7$?J8;zNs$O(B, $BI,MW$,$"$l$P(B @code{sub_str()} $B$J$I$NJ8;zNs=hM}(B
Line 590  xyz123gahaha
Line 607  xyz123gahaha
 $B8F$S=P$9(B.  $B8F$S=P$9(B.
 \E  \E
 \BEG  \BEG
 @item @code{open_file()} opens a file for reading.  @item @code{open_file()} opens a file.
   If @var{mode} is not specified, a file is opened for reading.
   If @var{mode} is specified, it is used as the mode specification for
   C standard I/O function @code{fopen()}. For example @code{"w"} requests
   that the file is truncated to zero length or created for writing.
   @code{"a"} requests that the file is opened for writing or created
   if it does not exist.
   The stream pointer is set at the end of the file.
 If successful, it returns a non-negative integer as the file descriptor.  If successful, it returns a non-negative integer as the file descriptor.
 Otherwise the system error function is called.  Otherwise the system error function is called.
 Unnecessary files should be closed by @code{close_file()}.  Unnecessary files should be closed by @code{close_file()}.
   If the special file name unix://stdin or unix://stdout or unix://stderr
   is given, it returns the file descriptor for the standard input or
   the standard output or the standard error stream respectively.
   The mode argument is ignored in this case.
 @item @code{get_line()} reads a line from an opened file and returns the  @item @code{get_line()} reads a line from an opened file and returns the
 line as a string. If no argument is supplied, it reads a line from the  line as a string. If no argument is supplied, it reads a line from the
 standard input.  standard input.
 @item @code{get_byte()} reads a byte from an opened file and returns the  @item @code{get_byte()} reads a byte from an opened file and returns the
 it as an integer.  it as an integer.
   @item @code{put_byte()} writes a byte from an opened file and returns the
   the byte as an integer.
 @item A @code{get_line()} call after reading the end of file returns  @item A @code{get_line()} call after reading the end of file returns
 an integer 0.  an integer 0.
 @item Strings can be converted into internal forms with string manipulation  @item Strings can be converted into internal forms with string manipulation

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.12

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>