Este guia mostrará como usar os métodos de E/S Ruby para abrir, ler, escrever e criar novos arquivos.
Vamos começar no básico da entrada e saída em Ruby
E/S básico
Os métodos de E/S mais básicos em Ruby são os que usamos para imprimir texto na tela.
Coloca
O método puts é provavelmente o método de E/S mais comum.
Para imprimir algo na tela, simplesmente:
my_var = 100O comando puts imprimirá o valor armazenado na variável referenciada e adicionará uma nova linha no final.
Imprimir
O método de impressão é semelhante aos puts, mas não adiciona uma nova linha à direita. Deixa o cursor na mesma linha.
Imprima "Hello World!"Putc
Outro método de E/S básico comum é o método PUTC. Funciona de maneira semelhante ao método de puts e impressão, mas imprime um caractere de cada vez.
Por exemplo:
my_var = "Hello World!"O acima deve imprimir o personagem 'h.'
Recebe
O método Get, por outro lado, busca entrada do usuário usando o stream Stdin.
coloca "Entre na sua idade:"E/S do arquivo
Embora entender como trabalhar com o padrão dentro e fora seja útil, pode ser muito limitante quando você precisar de dados persistentes.
Nesse caso, podemos usar a entrada e saída de arquivo para ler e gravar em arquivos.
Arquivo.Novo()
O primeiro método útil ao trabalhar com arquivos é o novo método. Isso cria um novo objeto de arquivo com o nome do arquivo especificado e o modo.
A sintaxe geral é:
f = arquivo.novo ('nome do arquivo', 'modo')O nome do arquivo pode ser qualquer nome e extensão.
Ruby suporta vários modos de arquivo. Esses incluem:
Por exemplo, para criar um novo arquivo que não existe:
f = arquivo.novo novo.txt "," a+")No exemplo acima, criamos um novo objeto de arquivo com o nome novo.txt e o modo de leitura-gravação. Como o arquivo não existe, é criado automaticamente.
Na próxima linha, escrevemos para o arquivo usando o método syswrite e, finalmente, fechamos o arquivo.
$ CAT NOVO.TXTArquivo.Abrir()
Você pode usar o método aberto para abrir um arquivo. Depois de abrir um arquivo, você pode ler ou escrever para ele.
Por exemplo:
f = arquivo.aberto ("novo.TXT")No exemplo acima, usamos o método aberto para abrir um arquivo existente no diretório de trabalho atual.
Uma vez aberto, podemos ler o conteúdo do arquivo.
Observe que não especificamos o modo ao abrir o arquivo para leitura, porque ele está configurado para ler quando não especificado.
Para gravar em um arquivo, você precisa especificar o modo como gravação ou leitura como mostrado no exemplo abaixo:
f = arquivo.aberto ("novo.txt "," r+")No exemplo acima, especificamos o modo como leitura-gravação como estamos escrevendo para o arquivo.
Arquivo.renomear ()
Além de ler e escrever em um arquivo, Ruby permite que você execute outras operações, incluindo renomear o arquivo usando o método de renomeação.
Exemplo:
f = arquivo.renomear ("novo.txt "," renomeado.TXT")O método acima deve renomear o novo.arquivo txt para renomeado.TXT.
Arquivo.Excluir()
Para excluir um arquivo, você pode usar o método de exclusão e especificar o nome do arquivo como o argumento. Por exemplo:
coloca "#arquivo.delete ("renomeado.txt ") excluído!"Arquivo.Dirname ()
O método Dirname permite que você obtenha o caminho do arquivo sem incluir o nome do arquivo.
Por exemplo:
f = arquivo.Dirname ("/var/log/lastLog")Isso deve exibir o caminho completo para o diretório onde o arquivo está localizado.
# ruby fileio.rbArquivo.existe?
Para verificar se existe um arquivo, use o arquivo.existe? método. Ele retorna um verdadeiro booleano se o valor existir e falso se o contrário.
coloca o arquivo.existe?("/etc/passwd")E/S do diretório
Se você deseja trabalhar com diretórios em Ruby, pode usar a classe Dir que contém métodos para essas operações.
Eles incluem:
Conclusão
Este tutorial mostrou como usar várias operações de entrada/saída de rubi. É bom observar que existem outras operações que você pode executar além das discutidas neste tutorial. Considere o arquivo e a documentação da classe Dir para saber mais.