Usando a linha de comando para executar scripts Ruby
Executando e executando arquivos rb
Imgorthand / Getty Images
Antes de realmente começar a usar Ruby, você precisa ter um entendimento básico da linha de comando. Já que a maioria Rubi scripts não terão interfaces gráficas de usuário, você os executará a partir da linha de comando. Assim, você precisará saber, no mínimo, como navegar na estrutura de diretórios e como usar caracteres de barra vertical (como | , < e > ) para redirecionar a entrada e a saída. Os comandos neste tutorial são os mesmos no Windows, Linux e OS X.
Abrindo o prompt de comando
- Para iniciar um prompt de comando no Windows, vá para Iniciar -> Executar . Na caixa de diálogo que aparece, digite cmd na caixa de entrada e pressione OK.
- Para iniciar um prompt de comando em Ubuntu Linux, vá para Aplicações -> Acessórios -> Terminal .
- Para iniciar um prompt de comando no OS X, vá para Aplicativos -> Utilitários -> Terminal .
Quando estiver na linha de comando, você verá um prompt. Muitas vezes é um único caractere, como $ ou # . O prompt também pode conter mais informações, como seu nome de usuário ou seu diretório atual. Para inserir um comando, tudo o que você precisa fazer é digitar o comando e pressionar a tecla Enter.
O primeiro comando a aprender é o cd comando, que será usado para chegar ao diretório onde você mantém seus arquivos Ruby. O comando abaixo irá mudar o diretório para o scripts diretório. Observe que em sistemas Windows, o caractere de barra invertida é usado para delimitar diretórios, mas no Linux e OS X, o caractere de barra é usado.
Executando scripts Ruby
Agora que você sabe como navegar para seus scripts Ruby (ou seus arquivos rb), é hora de executá-los. Abra seu editor de texto e salve o seguinte programa como teste.rb .
#!/usr/bin/env ruby
print 'Qual é o seu nome? '
nome = get.chomp
puts 'Olá #{name}!'
Abra uma janela de linha de comando e navegue até o diretório de scripts Ruby usando o cd comando. Uma vez lá, você pode listar os arquivos, usando o vocês comando no Windows ou o ls comando no Linux ou OS X. Todos os seus arquivos Ruby terão a extensão de arquivo .rb. Para executar o script Ruby test.rb, execute o comando teste rubi.rb . O script deve perguntar seu nome e cumprimentá-lo.
Como alternativa, você pode configurar seu script para ser executado sem usar o comando Ruby. No Windows, o instalador de um clique já configurou uma associação de arquivo com a extensão de arquivo .rb. Simplesmente executando o comando teste.rb irá executar o script. Dentro Linux e OS X, para que os scripts sejam executados automaticamente, duas coisas devem estar em vigor: uma linha 'shebang' e o arquivo sendo marcado como executável.
A linha shebang já está pronta para você; é a primeira linha no script começando com #! . Isso informa ao shell que tipo de arquivo é esse. Neste caso, é um arquivo Ruby a ser executado com o interpretador Ruby. Para marcar o arquivo como executável, execute o comando chmod +x teste.rb . Isso definirá um bit de permissão de arquivo indicando que o arquivo é um programa e que pode ser executado. Agora, para executar o programa, basta digitar o comando ./test.rb .
Você decide se você invoca o interpretador Ruby manualmente com o comando Ruby ou executa o script Ruby diretamente. Funcionalmente, são a mesma coisa. Use o método com o qual você se sente mais confortável.
Usando caracteres de pipe
Usar os caracteres pipe é uma habilidade importante para dominar, pois esses caracteres alterarão a entrada ou saída de um script Ruby. Neste exemplo, o > O caractere é usado para redirecionar a saída de test.rb para um arquivo de texto chamado test.txt em vez de imprimir na tela.
Se você abrir um novo arquivo test.txt depois de executar o script, verá a saída do script Ruby test.rb. Saber como salvar a saída em um arquivo .txt pode ser muito útil. Ele permite que você salve a saída do programa para uma análise cuidadosa ou para ser usada como entrada para outro script posteriormente.
C:scripts>ruby example.rb>test.txt
Da mesma forma, usando o < personagem em vez do > você pode redirecionar qualquer entrada que um script Ruby possa ler do teclado para ler de um arquivo .txt. É útil pensar nesses dois personagens como funis; você está canalizando a saída para arquivos e a entrada de arquivos.
C:scripts>ruby exemplo.rb
Depois, há o personagem pipe, | . Esse caractere afunilará a saída de um script para a entrada de outro script. É o equivalente a canalizar a saída de um script para um arquivo e, em seguida, canalizar a entrada de um segundo script desse arquivo. Apenas encurta o processo.
o | O caractere é útil na criação de programas do tipo 'filtro', onde um script gera saída não formatada e outro script formata a saída no formato desejado. Em seguida, o segundo script pode ser alterado ou substituído inteiramente sem ter que modificar o primeiro script.
C:scripts>ruby exemplo1.rb | Ruby example2.rb
Iniciando o prompt interativo do Ruby
Uma das grandes coisas sobre Ruby é que ele é orientado a testes. O prompt interativo do Ruby fornece uma interface para a linguagem Ruby para experimentação instantânea. Isso é útil ao aprender Ruby e experimentar coisas como expressões regulares. As instruções Ruby podem ser executadas e os valores de saída e retorno podem ser examinados imediatamente. Se você cometer um erro, você pode voltar e editar suas instruções Ruby anteriores para corrigir esses erros.
Para iniciar o prompt do IRB, abra sua linha de comando e execute o irb comando. Você será presenteado com o seguinte prompt:
irb(principal):001:0>
Digite o 'Olá Mundo' declaração que estamos usando no prompt e pressione Enter. Você verá qualquer saída gerada pela instrução, bem como o valor de retorno da instrução antes de retornar ao prompt. Nesse caso, a declaração de saída 'Hello world!' e voltou nada .
irb(main):001:0> puts 'Olá mundo!'
Olá Mundo!
=> nada
irb(principal):002:0>
Para executar este comando novamente, basta pressionar a tecla para cima no teclado para acessar a instrução que você executou anteriormente e pressionar a tecla Enter. Se você quiser editar a instrução antes de executá-la novamente, pressione as teclas de seta para a esquerda e para a direita para mover o cursor para o local correto na instrução. Faça suas edições e pressione Enter para executar o novo comando . Pressionar para cima ou para baixo mais vezes permitirá que você examine mais declarações que você executou.
A ferramenta interativa Ruby deve ser usada durante todo o aprendizado de Ruby. Quando você aprender sobre um novo recurso ou apenas quiser experimentar algo, inicie o prompt interativo do Ruby e experimente. Veja o que a instrução retorna, passe parâmetros diferentes para ele e apenas fazer algumas experiências gerais. Tentar algo você mesmo e ver o que ele faz pode ser muito mais valioso do que apenas ler sobre isso!