Rages
1. Definim dades i imprimim
numeros = [1,2,3,4,5,6,7,8,9,10]
numeros.each do |numero|
puts numero
end
Output
1
2
3
4
5
6
7
8
9
10
2. Cambian la sintaxi (1..10)
numeros = (1..10)
numeros.each do |numero|
puts numero
end
Output
1
2
3
4
5
6
7
8
9
10
3. Cambien la sintaxi
(1..10).each do |numero|
puts numero
end
Output
1
2
3
4
5
6
7
8
9
10
4. Definim que ens tornen els valors de dos en dos
(1..20).step(2).each do |numero|
puts numero
end
Output
1
3
5
7
9
11
13
15
17
19
5. Per a obtenir els nombres parells cal comenzar des de zero
(0..20).step(2).each do |numero|
puts numero
end
Output
0
2
4
6
8
10
12
14
16
18
20
6. Els rangs també funcionen amb cadenes
Això és el rang (0..20)
('a'..'z').each do |numero|
puts numero
end
Output
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
7. Ho presentem de forma diferent
('a'..'z').each do |numero|
print numero + ", "
end
Output
a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z
8. Demanem el valor mínim amb el mètode .min
Els rangs comparteixen molts mètodes que ja tenen les llistes.
puts (0..20).min
0
9. Demanem el valor màxim
puts (0..20).max
20
Això també es pot fer utilitzant les llistes, però els rangs no són llistes.
10. Convertir rang
a llista
El mètode reverse
no funciona amb els rangs
, cal convertir-lo primer a una llista
.
puts (0..20).to_a.reverse
Output
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Així podrem utilitzar els mètodes
que normalment col·locariem en una llista
.
11. Utilizant les funcions de les llistes en paràmetres més complicats
puts ('ma'..'md').to_a.reverse
Output
md
mc
mb
ma
El rang fa el que en altres llenguatges fa la sentència for
.