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

Шрифт
Фон

durante o parser do código e não durante a execução do mesmo.

A diferença é tão insignificante que não vale a pena perdermos tempo com esse

tipo de comparação. Eu particularmente prefiro declará-las sempre com aspas du-

plas, porque se em determinado momento eu precisar interpolar o valor de alguma

variável dentro desta String, ela já foi criada de uma maneira que não preciso

alterá-la.

A única preocupação que devemos ter é com o que vamos interpolar dentro de

uma String. Por exemplo:

puts 'mensagem' # => mensagem

puts "#{sleep 1}mensagem" # => mensagem

A String declarada com aspas duplas interpola a chamada de um método da

classe Kernel que interrompe a execução do código por 1 segundo, ou seja, o tempo

para impressão da segunda String mensagem será de pelo menos 1 segundo.

19

2.5. Estruturas de Controle

Casa do Código

2.5

Estruturas de Controle

Ruby possui as principais estruturas de controle ( if, while etc) assim como as

linguagens Java, C e Perl. Porém ao contrário destas que usam chaves { e } para

definir o conteúdo da estrutura, em Ruby usa-se as palavra reservada end apenas

para finalizar o corpo da estrutura.

Supondo que desejamos imprimir conteúdo da variável nome apenas se a idade

for maior que 18, usamos a estrutura if, que em Ruby possui a seguinte sintaxe:

idade = 27

nome = "Lucas"

if(idade > 18)

puts nome # => Lucas

end

Uma maneira de deixar o código Ruby ainda mais simples é removendo os pa-

rênteses da chamada do if.

idade = 27

nome = "Lucas"

if idade > 18

puts nome # => Lucas

end

Uma das vantagens do Ruby, é que na maioria das vezes podemos omitir o uso

dos parenteses. Isso é o que chamamos de Syntax Sugar ou açúcar sintático da

linguagem, que visa deixar o código mais legível.

Falando em deixar o código mais legível, se o corpo do seu %if possuir apenas

uma linha, prefira uma sintaxe mais enxuta:

idade = 27

nome = "Lucas"

puts nome if idade > 18 # => Lucas

Repare que parece que estamos lendo um texto em inglês: Imprima nome se

a idade for maior que 18. Esta é uma das grandes vantagens da linguagem, maior

legibilidade sempre que possível.

20

Casa do Código

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

2.6

Entenda o valor nulo

Quando desejamos representar algum valor vazio em Ruby, usamos a palavra reser-

vada nil. O nil não representa uma String vazia ou o número zero, ele re-

presenta um valor vazio, um espaço vazio. Quando atribuímos nil a uma variável,

queremos dizer que ela não possui nenhum valor.

caixa = nil

A nossa variável caixa, não possui nada dentro dela, ou seja, é vazia.

Neste contexto, podemos imprimir uma mensagem de boas vindas caso o con-

teúdo da variável nome tenha algum valor não nulo usando o método nil?:

nome = "Lucas"

puts "Seja bem-vindo #{nome}" if not nome.nil? # => Seja bem-vindo Lucas

Se executarmos o código acima, a mensagem Seja bem-vindo Lucas será exi-

bida. Mas e no caso da variável possuir o valor nil:

nome = nil

puts "Seja bem-vindo #{nome}" if not nome.nil?

Neste caso nenhuma mensagem será exibida, a variável nome é nula e o método

nil? retorna true. Como fazemos a negação usando o not o valor é invertido e

portanto false.

Um pouco complicado, não é? Você vai se acostumar rapidamente.

2.7

Substitua o if not por unless

Podemos simplificar o código acima usando a condicional negada, o unless (a

menos que, no bom português).

nome = nil

puts "Seja bem-vindo #{nome}" unless nome.nil?

Podemos ler o código: Imprima Seja bem vindo ... a menos que o nome seja

nulo. Na maioria das vezes que implementamos um if not, ele pode ser conver-

tido para um unless.

E se eu disser que podemos melhorar ainda mais o nosso código. Interessante,

não? Pois é, existe algo que você ainda não sabe sobre as variáveis com valor nil.

Se usadas dentro de condicionais como if e unless a variável quando nil

assume automaticamente o valor true e no caso contrário, assume o valor false.

21

2.8. Iterações simples com for, while, until

Casa do Código

nome = nil

puts "Seja bem vindo #{nome}" if nome

A variável nome possui o valor nil e assume o valor false na condicional

anterior, sendo assim nenhuma mensagem é impressa no terminal. Se a variável

possuir algum valor não nil:

nome = "Lucas"

puts "Seja bem-vindo #{nome}" if nome # => Seja bem-vindo Lucas

A mensagem Seja bem-vindo Lucas é impressa, pois a variável não é nil e por-

tanto assume o valor true.

2.8

Iterações simples com for, while, until

For

Existem diversas formas de iterar um determinado número de vezes por um código

Ruby. Como em outras linguagens, existem os conhecidos while, until e for.

Sem dúvida, a maneira mais usada em códigos Ruby que você irá se deparar ao longo

do tempo é o for.

Desejamos imprimir os números de 1 até 100. Apenas adicionando uma mensa-

gem Numero: X para deixarmos nossas mensagens mais elegantes.

for numero in (1..100)

puts "Numero: #{numero}"

end

O código acima atribui à variável numero os valores de 1 até 100, executa a

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

0
Шрифт
Фон

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