🚀 Biblioteca: Terminal
Interaja com o terminal: leia entrada, exiba saída e trabalhe com arquivos!
🚀Funções do Módulo Terminal
Entrada e Saída Padrão
-- Ler uma linha da entrada padrão local nome = terminal.leia() -- Escrever na saída padrão terminal.escreva("Olá, mundo!\n") -- Forçar gravação imediata (flush) terminal.despeje()
Abrir e Gerenciar Arquivos
-- Abrir arquivo para leitura local arquivo = terminal.abra("dados.txt", "r") -- Abrir arquivo para escrita local arquivo = terminal.abra("saida.txt", "w") -- Abrir arquivo para adicionar ao final local arquivo = terminal.abra("log.txt", "a") -- Fechar arquivo terminal.feche(arquivo)
Definir Entrada/Saída Padrão
-- Redirecionar entrada padrão local arquivo = terminal.abra("entrada.txt", "r") terminal.defina_entrada(arquivo) -- Redirecionar saída padrão local arquivo = terminal.abra("saida.txt", "w") terminal.defina_saída(arquivo)
Iterar Sobre Linhas
-- Iterar sobre linhas de um arquivo para linha em terminal.itere_linhas("dados.txt") faça exiba(linha) fim -- Iterar com formato específico para numero em terminal.itere_linhas("numeros.txt", "*n") faça exiba(numero * 2) fim
Processos e Arquivos Temporários
-- Abrir processo (executar comando) local processo = terminal.abra_processo("ls -la", "r") local saida = processo:leia("*a") processo:feche() -- Criar arquivo temporário local temp = terminal.crie_arquivo_temporário() temp:escreva("dados temporários") temp:feche() -- Verificar tipo de arquivo local tipo = terminal.obtenha_tipo(arquivo) exiba(tipo) -- "file" ou "closed file"
Métodos de Arquivo
Leitura
local arquivo = terminal.abra("dados.txt", "r") -- Ler tudo local tudo = arquivo:leia("*a") -- Ler uma linha local linha = arquivo:leia("*l") -- Ler um número local numero = arquivo:leia("*n") -- Ler N bytes local bytes = arquivo:leia(100) arquivo:feche()
Escrita
local arquivo = terminal.abra("saida.txt", "w") -- Escrever texto arquivo:escreva("Linha 1\n") arquivo:escreva("Linha 2\n") -- Forçar gravação arquivo:despeje() arquivo:feche()
Navegação e Configuração
local arquivo = terminal.abra("dados.bin", "r") -- Buscar posição no arquivo arquivo:busque("set", 100) -- Ir para byte 100 arquivo:busque("cur", 10) -- Avançar 10 bytes arquivo:busque("end", -50) -- 50 bytes antes do fim -- Definir buffer arquivo:defina_vbuf("full", 4096) -- Buffer completo arquivo:defina_vbuf("line") -- Buffer por linha arquivo:defina_vbuf("no") -- Sem buffer -- Iterar sobre linhas do arquivo para linha em arquivo:itere_linhas() faça exiba(linha) fim arquivo:feche()
Exemplo: Sistema de Log
função registre_log(mensagem) local arquivo = terminal.abra("sistema.log", "a") se arquivo então local timestamp = sistema_operacional.obtenha_data("%Y-%m-%d %H:%M:%S") arquivo:escreva(timestamp .. " - " .. mensagem .. "\n") arquivo:feche() fim fim registre_log("Aplicação iniciada") registre_log("Usuário fez login")
Exemplo: Processamento de Arquivo Grande
função processe_arquivo_grande(nome_arquivo) local entrada = terminal.abra(nome_arquivo, "r") local saida = terminal.abra("processado.txt", "w") se não entrada então exiba("Erro ao abrir arquivo!") retorne fim local contador = 0 para linha em entrada:itere_linhas() faça contador = contador + 1 saida:escreva(contador .. ": " .. linha .. "\n") fim entrada:feche() saida:feche() exiba("Processadas " .. contador .. " linhas") fim
Sempre feche arquivos com
:feche()! Arquivos não fechados podem causar perda de dados.
A biblioteca Terminal oferece controle completo sobre entrada/saída e manipulação de arquivos!