Souza Lucas - Ruby: Aprenda a programar na linguagem mais divertida стр 7.

Шрифт
Фон

távamos na verdade fazendo um comentário. Esse é o conhecido comentário de 1

linha. Assim, se existirem N linhas e você deseje comentar todas elas, terá que adi-

cionar # linha por linha.

#idade = 27

#ano = 2013

Para esses casos onde precisamos comentar diversas linhas, podemos utilizar os

comentários em bloco, que podem ser feitos usando envolvendo o conteúdo a ser

comentado entre as demarcações =begin e =end.

=begin

idade = 27

ano = 2013

=end

16

Casa do Código

Capítulo 2. Seu primeiro passo no Ruby: convenções e as diferentes estruturas. . .

Com isso, esses códigos serão desconsiderados na interpretação do seu pro-

grama.

2.3

O trabalho com números

Em qualquer aplicação que é desenvolvida, em algum momento deve-se trabalhar

com números. Muitas das informações podem ser representadas com um número

inteiro, como idade, ano ou quantidade_estoque, por exemplo. Nesse caso,

declaramos a variável com o número:

idade = 27

ano = 2013

Ao trabalharmos com números inteiros, podemos descobrir seu tipo pergun-

tando para a variável qual é a sua classe:

idade.class

=> Fixnum

Repare que => Fixnum não precisa ser digitado, ele apenas indica qual será a

saída do IRB. Ao longo do livro, utilizarei esta abordagem para indicar qual o retorno

de uma chamada dentro do IRB, facilitando sua leitura.

Números inteiros geralmente são do tipo Fixnum, exceto em casos extrema-

mente grandes onde o Bignum é empregado. No entanto, números muito grandes

e que precisamos representar de forma literal podem ficar complicados de ler no

código. Por exemplo, a quantidade de habitantes no mundo em 2013, poderíamos

fazer:

habitantes = 7000000000

7 bilhões de habitantes é um número consideravelmente grande. Mas e se fosse

70 bilhões?

habitantes = 70000000000

Repare que não é tão fácil perceber que há um zero a mais nesse grande número.

Para esses casos, Ruby nos permite separar os milhares através do %_

habitantes = 7_000_000_000

17

2.4. Representação de textos com as Strings

Casa do Código

Com isso conseguimos deixar o número literal mais legível.

Em outras situações, podemos precisar definir números que tenham casas deci-

mais. Por exemplo, para representar o peso de uma pessoa:

peso = 77.9

Repare que a separação das casas decimais é o . (ponto) e não a

, (vírgula).

2.4

Representação de textos com as Strings

Muitas das vezes precisamos de variáveis que guardem informações que são compos-

tas por texto, como o nome de uma pessoa e seu identificar em alguma rede social.

Esse tipo de informação é o que chamamos de String. Em Ruby, qualquer carac-

tere ou conjunto de caracteres cercado de aspas simples ou duplas é considerado uma

String:

nome_completo = "Lucas Souza"

twitter = '@Lucasas'

puts nome_completo.class # => String

puts twitter.class # => String

Mas por qual motivo e quando eu uso String com aspas simples ou duplas?

Imagine que você possui uma amiga chamada Joana dArc e precisamos armaze-

nar o nome dela em uma variável:

nome_com_aspas_simples = 'Joana d'Arc' # não funciona

nome_com_aspas_duplas = "Joana d'Arc" # funciona

Repare que quando definimos String com aspas simples, não conseguimos

adicionar outra aspas simples dentro do texto, pois dessa forma é o interpretador

não sabe onde fica o final da String. Neste caso o único jeito é usar aspas duplas.

Mas existem outros casos onde Strings com aspas duplas são mais interessantes.

Precisamos agora exibir uma mensagem de boas-vindas contendo o nome da pessoa

que está definido dentro da variável nome. O mais natural seria repetir o compor-

tamento de outras linguagens e usar o operador + para realizar uma concatenação.

nome = "Joana d'Arc"

boas_vindas = "Seja bem-vinda(o) " + nome

puts boas_vindas # => Seja bem-vinda(o) Joana d'Arc

18

Casa do Código

Capítulo 2. Seu primeiro passo no Ruby: convenções e as diferentes estruturas. . .

Porém em Ruby quando precisamos concatenar duas String, preferimos fazer

o uso da interpolação:

nome = "Joana d'Arc"

boas_vindas = "Seja bem-vinda(o) #{nome}"

puts boas_vindas # => Seja bem-vinda(o) Joana d'Arc

Basta colocar dentro da String a variável dentro de #{variavel}. É uma

maneira mais elegante e comum de ser usada em códigos Ruby. O detalhe é que em

String definidas com aspas simples não é possível fazer uso da interpolação.

Prefira sempre o uso de String com aspas duplas e priorize sempre a interpo-

lação quando for concatenar.

Existe diferença de performance entre String com aspas simples e duplas?

Existe muita discussão sobre qual tipo de declaração de String devemos uti-

lizar, com o argumento que a declaração com aspas simples são mais rápidas que as

declarações com aspas duplas.

As String declaradas com aspas simples podem ser sutilmente mais rápidas

que as declaradas com aspas duplas porque o analisador léxico da linguagem Ruby

não tem que checar se existem marcadores de interpolação #{}. Este número pode

variar de interpretador para interpretador e vale ressaltar que este tempo seria menos

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке