Az ML programozási nyelv

Input-Output kezelés

A fájlból való olvasáshoz szükséges modul neve TextIO .
A következő példa soronként beolvassa az input.dat tartalmát és a képernyőre írja.

val f=TextIO.openIn "input.dat"; fun kiir(f)=if TextIO.endOfStream(f) then (g 4; TextIO.print "s") else (TextIO.print(TextIO.inputLine f ); kiir(f)) ;

Az f instream típusú lesz, ami a TextIO modulban van definiálva(minden most következő új függvény, típus ... a TextIO modulban van definialva).

openInstring -> instreamfájl megnyitása
endOfStreaminstream -> boolteszteli hogy a végére értünk-e a fájlnak
inputLineinstream-> stringegy sor beolvasása

A print egy sor kiírására való. Az stdOut nevű outstream típusú szabványos outputra a konzolra ír, de az openOut : string -> outstream fv-el beállíthatunk tetszőleges állományt ( és az stdErr nevű szabványos hibacsatornát) is, amelyre az oputput függvénnyel írhatunk. A fájlba való íráshoz az output nevű függvény használandó.
a flushOut – a mentésre alkalmas függvény. Egy pl. ami az output.txt fájlba helloka-t ir:

val outf =TextIO.openOut “output.txt”; TextIO.output(outf,“helloka”); TextIO.flushOut outf;

A

closeOut: outstream -> unit
a fájl bezárására való. A következő függvények a TextIO modulban vannak definiálva

type inputstream

val openInstring -> instream
val closeIninstream -> unit
val inputinstream -> vector
val inputAllinstream -> vector
val inputNoBlockinstream -> vector option
val input1instream -> elem option
val inputNinstream * int -> vector
val inputLineinstream -> string
val endOfStreaminstream -> bool
val lookaheadinstream -> elem option

type outstream

val openOutstring -> outstream
val openAppendstring -> outstream
val closeOutoutstream -> unit
val outputoutstream * vector -> unit
val output1outstream * elem -> unit
val outputSubstroutstream * substring -> unit
val flushOutoutstream -> unit
val stdOutoutstream
val stdErroutstream
val printstring -> unit