forked from henrique-ft/ruby
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEstruturas_De_Controle.rb
More file actions
149 lines (82 loc) · 2.45 KB
/
Estruturas_De_Controle.rb
File metadata and controls
149 lines (82 loc) · 2.45 KB
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# Operadores Booleanos --------------------------------------------------------------------------------------
# Equal
puts 3 == 3
# Less or equal than
puts 3 <= 3
# Greater or equal than
puts 3 >= 3
# Less than
puts 3 < 3
# Greater than
puts 3 > 3
# and
puts (3 == 3) && (4 == 4)
# or
puts (3 == 3) || (3 == 4)
# if ---------------------------------------------------------------------------------------------------------
# O if do ruby aceita qualquer expressão booleana, no entando, cada objeto em ruby possui um "valor booleano".
# Os únicos objetos de valor booleano false são o próprio false e o nil.
# Portanto, qualquer valor pode ser usado como argumento do if
variavel = nil
if variavel
puts("só iria imprimir se variável != null (nil)")
end
if variavel == nil
puts("variável é nula")
else
puts("variável não é nula")
end
if 10 > 0
puts("dez maior que zero")
elsif 5 > 0
puts("cinco maior que zero")
end
unless idade < 5
puts "Você tem menos de 5 anos"
end
# Condicionais inline
x = 0
y = 0
# Se x for igual a i, 3 é atribuido a y
if x == 1 then y = 3 end
# Switch -----------------------------------------------------------------------------------------------------------
# Não funciona porque a variável que vem do console sempre chega como string
puts "--------------------------------"
variavel_switch = gets
case variavel_switch
when 3
puts "teste"
when 4
puts "é o número 4"
when 5
puts "é o número 5"
end
puts variavel_switch.class
# Funciona
variavel_switch = 4
case variavel_switch
when 3
puts "teste"
when 4
puts "é o número 4"
when 5
puts "é o número 5"
end
# For --------------------------------------------------------------------------------------------------------------
# Ranges
# O Ruby fornece uma maneira de trabalharmos com sequências de uma forma bem simples: (1..3) # Range representando números de 1 a 3.
# ('a'..'z') # Range representando letras minúsculas do alfabeto
puts "--------------------------------"
for i in ('a'..'z')
puts i
end
puts "--------------------------------"
for i in (1..5)
puts i
end
puts "--------------------------------"
for i in (0..5)
puts i
end
# -------------------------------------------------------------------------------------------------------------------
fim = gets