Čtení ze souboru


Načtení celého souboru do jednoho řetězce:

action! read

>> a: read %mySecondFile.txt
== {First line;^/Second line;^/Third line.^/Fourth line;^/Fifth li

Nyní proměnná "a" obsahuje celý obsah souboru:

>> print a
First line;
Second line;
Third line.
Fourth line;
Fifth line;
Sixth line.

Načtení souboru do bloku po jednotlivých řádcích:

Chcete-li číst soubor jako řadu, v níž je každý řádek elementem, použijete read/lines:

>> a: read/lines %mySecondFile.txt
== ["First line;" "Second line;" "Third line." "Fourth line;"...

>> print pick a 2
Second line;

    read/part         => čte pouze zadaný počet jednotek (source relative).
    read/seek        => čte ze zadané pozice (source relative).
    read/binary      => přesně zachovává obsah
    read/lines         => přemění na blok řetězců
    read/info          =>
    read/as            => čte se zadaným kódováním, implicitně je 'UTF-8.


function! load

Načtení souboru do bloku po jednotlivých slovech, oddělených mezerou:

Pro tento účel použijeme load místo read:

>> a: load %mySecondFile.txt
== [First line Second line Third line.
               Fourth line Fifth...

>> print pick a 2
line

Čtení a psaní binárních souborů:

Pro čtení či psaní binárního souboru jako je image nebo zvuk, se používá upřesnění  /binary. Následující kód načte bitmapové zobrazení do proměnné a zapíše jej do souboru s jiným názvem:

>> a: read/binary %heart.bmp
== #{
424D660700000000000036000000280000001E00000014000000010...
>> write/binary %newheart.bmp a


    load/header    => TBD.
    load/all           => načte všechny hodnoty, vrací blok; TBD: nevyhodnocuje záhlaví Red.
    load/trap        => načte všechny hodnoty, vrací blok: [[values] position error].
    load/next        => načte pouze následující hodnotu.
    load/part        =>
    load/into        => vloží obsah do existujícího bloku
    load/as          => zadání typu načítaných dat; použijeme NONE pro načtení jako kód