25 de junho de 2017

Strings com Ruby

Um dos objetos mais básicos da linguagem de programação Ruby são as Strings.

Os objetos do tipo Strings podem conter e manipular sequências de caracteres para os mais diversos fins e podem ser criados utilizando o construtor String.new ou através de literais que é a forma mais comum e a que utilizaremos aqui.

Para se criar uma string basta utilizar aspas (simples ou duplas) da sequinte forma:

"Sou uma string"

Esta string pode ser armazenada em uma variável para posterior utilização da seguinte forma:

texto = 'Sou uma string'

Note que desta vez nós utilizamos aspas simples e, embora o resultado tenha sido o mesmo neste caso, existe uma diferença que veremos mais adiante.

Agora que já sabemos criar nossa string, vamos aprender alguns métodos de manipulação.

Para tornar uma string em caixa alta (maiúscula) fazemos da seguinte forma:

texto.upcase # => "SOU UMA STRING"
IMPORTANTE
Uma questão importante a se notar é que o método não alterou a variável, mas sim retornou uma nova string com o resultado em caixa alta. Podemos confirmar isso imprimindo a nossa variavel texto e vendo que seu conteúdo continua o mesmo. Todos os métodos que usaremos aqui têm este efeito (não alteram a string). Caso se deseje alterar a string que recebe o método devemos adicionar uma exclamação (também conhecida como bang) ao final do método como: "vou ser alterada".upcase!, mas tome cuidado com o uso deste tipo de método, pois eles alteram o conteúdo do objeto que o recebe e esse pode não ser o efeito desejado.

Um outro método relacionado retorna a string em caixa baixa:

texto.downcase # => "sou uma string"

Podemos inverter a string:

texto.reverse # => "gnirts amu uoS"

Ou então tornar a primeira letra maiúscula e as demais minúsculas:

'ruby'.capitalize # => "Ruby"

É possível juntar duas strings:

"Olá " + "mundo!" # => "Olá mundo!"

Ou então concatenar duas strings (note que este processo altera o valor da string original):

"Estude " << "sempre" # => "Estude sempre"

O mesmo resultado pode ser obtido com um método:

"Estude sempre".concat(" mais") # => "Estude sempre mais"

Também podemos chamar dois métodos (ou mais) em sequência:

"Programar te deixa inteligente".upcase.reverse # => "ETNEGILETNI AXIED ET RAMARGORP"

Outro poderoso recurso que podemos utilizar em nossas strings são as interpolações e, para este caso o tipo de aspas faz toda a diferença.

Vamos ao exemplo e depois à explicação:

idade = 40

"Eu tenho #{idade} anos" # => Eu tenho 40 anos

Quando usamos aspas duplas, o interpretador verifica se há algum valor passível de ser interpretado, substitui este valor e então exibe a string final.

Perceba que para isso o valor a ser interpolado deve estar entre "#{}":

"2 + 2 são #{2 + 2}" # => 2 + 2 são 4

Neste caso o interpretador faz a conta e exibe o valor correto.

Apenas para ficar claro, se utilizarmos aspas simples neste caso, seria exibido literalmente o texto entre as aspas:

'2 + 2 são #{2 + 2}' # => 2 + 2 são #{2 + 2}

Bom, aqui foi mostrado apenas uma pequena parte das dezenas de métodos que temos na classe String.
Aconselho você a acessar a documentação Ruby da classe String e descobrir outros métodos muito úteis como o gsub, size, strip, entre outros.

Um abraço.

Visualizações: 46



Ruby

01 de junho de 2017

Lendo e escrevendo arquivos em Ruby

Neste tutorial vamos aprender a ler e escrever arquivos em Ruby.

08 de novembro de 2016

Ruby curto-circuito

Muitas vezes queremos atribuir um valor a uma variável com base no valor de outra. Podemos obter isso usando uma cláusula IF, um condicional ternário ou o curto-circuito.

Sérgio Toledo | Full-Stack Web Developer | LinkedIn | GitHub | YouTube

Todos os direitos reservados ©