forked from everaldo/ruby-em-100-exemplos
-
Notifications
You must be signed in to change notification settings - Fork 0
/
004_toda_expressao_retorna_um_valor.rb
61 lines (39 loc) · 1.17 KB
/
004_toda_expressao_retorna_um_valor.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# 31/05/2016 - Everaldo Gomes - [email protected]
#
# 004 - Toda Expressão Retorna um Valor
#
#
# Em Ruby, todas as expressões retornam um valor.
# Além das expressões aritméticas, também são expressões:
#
#
# Atribuição
# Chamada de método
# Definição de classes e Módulos
# Comandos de Controle e blocos (if, for, while etc.)
#
# O método puts retorna nil, que quando impresso não retorna nada
# O objeto nil é uma instância da classe NilClass
retorno = puts("Uma mensagem qualquer")
puts "O valor de retorno é '#{retorno}'"
puts retorno.inspect
# Atribuição múltipla
a = b = c = d = e = f = 0 # => 0
puts "a=#{a}"
puts "b=#{b}"
puts "c=#{c}"
puts "d=#{d}"
puts "e=#{e}"
puts "f=#{f}"
a = if true
10
else
20
end
puts "a agora vale 10, porque o comando if também retorna valores.
O valor retornado é do último comando executado no bloco"
# Não é necessário usar ponto-e-vírgula em Ruby. A não ser que você queira
# definir uma classe ou método vazios numa mesma linha
uma_classe = class A ; end
puts uma_classe.inspect # => nil
# uma_classe é nulo, porque a classe não retornou nenhum valor em sua definição