Voltar ao blog

Trabalhando com Strings em Ruby

Trabalhando com Strings em Ruby

Ruby é uma linguagem de programação interpretada, dinâmica, reflexiva, orientada a objetos de programação. Desenvolvida por Yukihiro Matsumoto, a Ruby foca na simplicidade e produtividade. A sintaxe elegante permite que desenvolvedores leiam e escrevam código mais facilmente.

Neste guia, trabalharemos com strings em Ruby.

Pré-requisitos

Para realizar os passos demonstrados neste tutorial, você precisa dos seguintes componentes:

O Tipo de Dados String

Na programação, uma string é um tipo de dados comum que toda linguagem de programação moderna suporta. Ela é caracterizada por uma sequência de caracteres. Toda a sequência de caracteres é tratada como um único dado. Uma string pode conter letras, dígitos e caracteres/símbolos especiais.

O Ruby, sendo uma linguagem de programação puramente orientada a objetos, trata strings como objetos. Ao contrário de muitas outras linguagens, as strings no Ruby são mutáveis. Basicamente, o valor da string pode ser alterado no próprio local.

Passo 1 – Criando e Imprimindo Strings

No Ruby, as strings são envolvidas por aspas simples ( ') ou aspas duplas ( "). A seguir estão duas strings válidas no Ruby:

Para imprimir qualquer saída na tela do console, o Ruby vem com o print método:

Hora de colocar em prática. Crie um novo arquivo Ruby practice.rb e insira os seguintes códigos:

Execute o código:

Strings in Ruby 1

Como esperado, o comando print imprime as strings fornecidas. Se quisermos imprimir as strings em linhas separadas, é melhor usar puts em vez disso. Atualize o código:

Em seguida, execute o código novamente:

Strings in Ruby 2

Passo 2 – Variáveis de String

Variáveis são nomes que se referem a um local específico na memória do computador onde um valor é armazenado. Podemos armazenar o valor desejado na variável e usá-lo mais tarde.

No Ruby, para declarar uma variável de string, defina o nome da variável e atribua um valor de string:

Escreva o seguinte código em practice.rb:

Execute o código:

Aqui:

  • Definimos duas variáveis first_half e second_half, cada uma com um valor de string atribuído.
  • O método puts imprime o valor das variáveis.

Passo 3 – Concatenação de Strings

Ao concatenar, podemos pegar várias strings e juntá-las para criar uma nova string. A concatenação de strings é denotada pelo operador de concatenação ( +). Observe que este símbolo também é o operador de adição ao trabalhar com operações aritméticas.

Vamos tentar realizar a concatenação de strings nas strings que declaramos até agora:

Execute o código:

Como a saída mostra, a concatenação não introduz nenhum caractere adicional entre as strings. É por isso que fox e jumps estão agrupados. Podemos corrigir isso introduzindo um espaço em branco após fox:

Execute o código:

Agora a saída parece melhor.

A concatenação de strings também funciona com variáveis. Dê uma olhada no seguinte exemplo:

Strings in Ruby 3

Execute o código:

O próximo exemplo demonstra uma longa cadeia de concatenação:

Strings in Ruby 4

Execute o código:

Até agora, lidamos apenas com variáveis do tipo string. E se houvesse tipos de variáveis diferentes? O programa a seguir testa esse cenário:

Strings in Ruby 5

Ao tentar executar este programa, o Ruby lançará uma mensagem de erro:

No entanto, podemos converter o número inteiro em uma string para evitar esse problema:

Strings in Ruby 6

Aqui:

  • O método to_s converte o valor da variável em uma string.

A conversão de números em strings é uma ocorrência comum ao lidar com elementos como códigos postais, moedas, números de telefone e outros dados numéricos.

Passo 4 – Interpolação de String

Embora a concatenação de strings seja um recurso poderoso, ela pode se tornar complicada muito facilmente. Em muitas situações, você provavelmente sentirá falta de um operador de concatenação ( +), o que causará uma grande dor de cabeça. Além disso, ao lidar com diferentes tipos de dados, eles devem ser convertidos em uma string primeiro. Felizmente, o Ruby oferece outras maneiras de injetar valores de variáveis em uma string usando o recurso interpolação de string.

Aqui está como se parece. Por exemplo, em vez de usar:

Nós usaremos:

Embora a sintaxe possa parecer um pouco estranha, ela simplifica drasticamente o código. Não há necessidade de chamar manualmente o método to_s para converter o valor da variável em string.

Vamos usar essa nova técnica para atualizar nosso código anterior:

Strings in Ruby 7

Execute o código:

Passo 5 – Literais de String e Valores de String

Observe que as strings declaradas nos códigos são sempre cercadas por aspas. No entanto, ao imprimir a saída na tela do console, não há símbolos de aspas. Claramente há uma distinção entre eles.

  • Literal de string: É a string escrita no código-fonte (incluindo as aspas).
  • Valor de string: É o valor que é impresso na saída (sem as aspas).

Por exemplo, o seguinte é um literal de string:

O valor de string dele seria olá mundo.

Passo 6 – Escapando Aspas e Apóstrofos

Como demonstramos, aspas e apóstrofos são usados para denotar strings no código-fonte. Isso representa um problema: você não pode tê-los diretamente na string. Caso contrário, causará problemas. O código a seguir demonstra isso:

Strings in Ruby 8

Existem táticas diferentes para contornar esse problema.

  • Usando Sintaxe de String Alternativa

Esta é a maneira mais simples de contornar o problema. Se sua string precisar de aspas simples, use aspas duplas no literal de string (e vice-versa).

Vamos corrigir o exemplo anterior:

Another example would be:

No entanto, isso não vai funcionar em todas as situações. Por exemplo:

  • Usando Caracteres de Escape

O caractere de barra invertida ( \) é frequentemente chamado de caractere de escape. Ele impede que o Ruby interprete o próximo caractere literalmente. Vamos corrigir o exemplo anterior. Use a barra invertida para evitar que o Ruby interprete as aspas duplas internas como literais:

  • Usando Sintaxe Alternativa

Até agora, só trabalhamos com aspas simples e duplas para denotar a string literal. No entanto, os exemplos anteriores são demonstrações simples de como isso pode sair do controle muito rapidamente. Para resolver esse problema, podemos abandonar completamente as aspas e usar um símbolo totalmente diferente para denotar o início e o fim de uma string.

Dê uma olhada no seguinte exemplo:

Aqui:

    • O símbolo % define o próximo caractere ( $, neste caso) como o delimitador da string.
    • A string literal aqui é $a rápida marrom raposa disse, "eu pulei sobre o cachorro preguiçoso"$.

Vamos colocar isso em ação:

Aqui, a string é basicamente tratada como o seguinte:

No entanto, isso reintroduz o problema de escapar o delimitador se ele for usado na string. Uma maneira de evitar isso é usar símbolos que geralmente não aparecem em strings. Tais símbolos podem incluir chaves, colchetes, etc.:

Também funciona perfeitamente com interpolações de string:

Também é comum usar %Q{} e %q{} para definir strings em programas Ruby. Aqui, %Q{} age como aspas duplas e %q{} age como aspas simples.

Passo 7 – Novas Linhas e Strings Longas

Ao trabalhar com strings, haverá situações em que você desejará introduzir uma nova linha ou retorno de carro na string. Podemos fazer isso introduzindo os caracteres de escape \n (nova linha) e \r (retorno de carro).

Dê uma olhada no seguinte exemplo:

A string literal parece confusa, certo? Vamos reorganizá-la para melhor legibilidade:

Em vez de declarar manualmente os caracteres de nova linha, também podemos usar a seguinte estrutura:

Strings in Ruby 8

Strings in Ruby 9

Neste método, a string preserva todos os espaços em branco. No entanto, isso estraga a saída. Remova os espaços em branco extras para corrigir isso:

Strings in Ruby 10

Embora o problema do espaço em branco tenha sido corrigido, isso reduz a legibilidade do código. Podemos corrigir esse problema implementando um heredoc, um termo para literais de string multilinha. O código atualizado ficaria assim:

Strings in Ruby 11

Strings in Ruby 12

A partir do Ruby v2.3 e superior, há outro recurso disponível, chamado squiggly heredoc . Ela remove o espaço em branco inicial nas strings. Para expressar um squiggly heredoc, substitua o hífen ( -) por um til ( ~):

Strings in Ruby 13

Passo 8 – Replicando Strings

Em algumas situações, pode ser necessário repetir uma string várias vezes. O Ruby permite replicar strings de várias maneiras.

Uma dessas técnicas é usar o * operador. Geralmente, é usado como o operador de multiplicação ao lidar com números. Ao lidar com strings, no entanto, ele se torna o operador de replicação de string, repetindo a string única quantas vezes for necessário. O número de repetições deve ser um número inteiro.

No exemplo a seguir, o texto Boris será repetido 5 vezes:

Strings in Ruby 14

Usando esse recurso, podemos produzir algumas artes ASCII legais. Confira o exemplo a seguir:

Considerações Finais

Strings, na programação, são essenciais. Este guia demonstra como trabalhar com strings no Ruby. Aprendemos a criar strings e a realizar várias operações como concatenação, tratamento de quebras de linha, aspas, etc. Usando a interpolação de strings, também aprendemos a integrar melhor os valores das variáveis em strings. Usando o operador de replicação de string, também podemos repetir uma única string várias vezes.

Embora o Ruby, por si só, seja uma excelente linguagem de programação, ele é frequentemente combinado com o framework Rails. Ruby on Rails é um framework de aplicativo web de código aberto. Saiba mais sobre como instalar o Ruby on Rails no Ubuntu. No entanto, o Ruby também pode funcionar com outros aplicativos, como MySQL e PostgreSQL.

Feliz Computação!

author

Preslav Dobrev

Autor · CloudSigma

Preslav Dobrev é um designer criativo na CloudSigma, focado na construção de uma identidade empresarial consistente por meio de canais de marketing tradicionais e inovadores. Ele é hábil em combinar a visão artística com o marketing estratégico para criar narrativas de marca impactantes.

Comentários

Nenhum comentário ainda. Seja o primeiro.