Diversão com strings

Literais string são sequências (ou cadeias) de caracteres entre aspas simples ou dupla. ’’ (duas aspas simples) que não contêm nada dentro delas; nós chamamos de string vazia. Aqui está um programa p003stringsruby.rb que explora strings a um certo nível.

 1 # p003stringsruby.rb  
 2 =begin  
 3   Strings Ruby
 4   Em Ruby, strings são mutáveis  
 5 =end  
 6 
 7 puts "Olá Mundo"
 8 # Pode-se usar " ou ' para strings, mas ' é mais eficiente  
 9 puts 'Olá Mundo'  
10 # Concatenação de strings  
11 puts 'Eu gosto de' + ' Ruby'  
12 # Sequência com escape
13 puts 'It\'s my Ruby'  
14 # Exibe a string 3 vezes  
15 puts 'Olá' * 3  
16 # Definindo uma constante
17 # Mais sobre constantes depois, aqui  
18 # nomes_em_ruby.html  
19 PI = 3.1416
20 puts PI
  1. Se é passado ao puts um objeto que não é uma string, o puts chama o método to_s deste objeto e imprime a string retornada pelo método.
  2. Em Ruby, strings são mutáveis. Elas podem expandir quando necessário, sem utilizar muito tempo ou memória. O Ruby armazena uma string como uma sequência de caracteres.

Vale a pena saber que existe um tipo especial de string que usa acento grave (`) como delimitador de início e fim. Por exemplo:

1 puts `dir`

A string é enviada para o sistema operacional como um comando a ser executado (no exemplo nós estamos enviando o comando dir para o sistema operacional Windows), a saída do comando (dir numa janela de comando exibiria todos os arquivos e subdiretórios de um diretório) é então exibida pelo puts.

No Linux e no Mac, você pode usar, ao invés:

1 puts `ls`

Outro modo de executar um processo separado é utilizando o método system de Kernel. O método executa um comando dado a ele em um sub-processo; ele retorna true se o comando for encontrado e executado propriamente. Ele retorna false se o comando encerrar com um status de saída diferente de zero, e nil se o comando falhar ao executar. Lembre-se, a saída do comando simplesmente irá para o mesmo destino da saída do seu programa.

1 system("tar xzf teste.tgz") # => true

Logo do Guru-SP

Este material tem como base o tutorial do RubyLearning.com de Satish Talim e foi traduzido por membros do GURU-SP com a permissão do autor.

Ajude o RubyLearning participando em algum dos cursos pagos ou fazendo uma doação para o projeto

Voltar para o índice