Triki dla tablic w Ruby

10 troków na tablicach w Ruby

Ruby ma naprawdę świetną dokumentację. Metody dla tablic też są dobrze opisane na przykład tutaj. Dziś chciałabym się skupić na kilku trikach jakie znam na tablicach w Ruby. No to zaczynamy:

  • Tworzenie tablicy składającej się z napisów:
%w{ 1 2 3 4 }
 => ["1", "2", "3", "4"]
  • Tworzenie tablicy składającej się z tej samej liczby:
[2]*5
 => [2, 2, 2, 2, 2]
  • Tworzenie tablicy z kolejnych liczb naturalnych:
(1..4).to_a
 => [1, 2, 3, 4]
  • Tworzenie tablicy z kolejnych liczb parzystych:
(2..10).step(2).to_a
 => [2, 4, 6, 8, 10]
  • Pokazanie ostatniego elementu tablicy:
array = [1, 2, 3, 4]
array[-1]
 => 4
  • Pokazanie wybranego fragmentu tablicy:
array = [1, 2, 3, 4]
array[1..2]
 => [2, 3]
array[1...3]
 => [2, 3]
array[1, 2]
  => [2, 3]
  • Dekompozycja tablicy:
a, b, c = [1, 2, 3, 4]
a => 1
b => 2
c => 3

lub

a, b, *c = [1, 2, 3, 4]
a => 1
b => 2
c => [3, 4]
  • Suma wszystkich elementów tablicy (metody inject i reduce to aliasy):
array = [1, 2, 3, 4]
array.inject(&:+)
 => 10

lub

array.reduce(&:+)
 => 10
  • Usunięcie określonej części tablicy:
array = [1, 2, 3, 4]
array.slice!(1..2)
array => [1, 4]
  • Operacje na tablicy:
# Suma
[1, 2, 3] | [1, 4] => [1, 2, 3, 4]
# Konkatenacja
[1, 2, 3] + [1, 4] => [1, 2, 3, 1, 4]
# Iloczyn
[1, 2, 3] & [1, 4] => [1]
# Różnica
[1, 2, 3] - [1, 4] => [2, 3]