Lendo arquivos
Lendo arquivos como texto:
action! read
>> a: read %mySecondFile.txt
== {First line;^/Second line;^/Third line.^/Fourth line;^/Fifth li
Agora a palavra (variável) "a" tem todo o conteúdo do arquivo:
>> print a
First line;
Second line;
Third line.
Fourth line;
Fifth line;
Sixth line.
Lendo arquivos como séries onde cada linha é um elemento:
Note que a palavra (variável) a acima é, por enquanto, só texto com newlines. Se você quiser ler o arquivo como uma série, tendo cada linha como um elemento, você deve usar read/lines:
>> a: read/lines %mySecondFile.txt
== ["First line;" "Second line;" "Third line." "Fourth line;"...
>> print pick a 2
Second line;
Read refinements:
/part => Leitura parcial de um dado número de elementos.
/seek => Lê a partir de uma posição específica (source relative).
/binary => Preserva o conteúdo (binário).
/lines => Converte para bloco de strings.
/info =>
/as => Lê com a codificação especificada, o default é 'UTF-8.
function! load
Lendo arquivos como séries, onde cada palavra (separada por espaço) é um elemento:
Neste caso, você deve usar load ao invés de read:
>> a: load %mySecondFile.txt
== [First line Second line Third line.
Fourth line Fifth...
>> print pick a 2
line
Lendo e escrevendo arquivos binários:
Para ler ou escrever um arquivo binário como uma imagem ou um som, você deve usar o refinamento /binary . O código abaixo carrega uma imagem bitmap para uma palavra (variável) e salva essa imagem com outro nome:
>> a: read/binary %heart.bmp
== #{
424D660700000000000036000000280000001E00000014000000010...
>> write/binary %newheart.bmp a