Массивы


# Инициализация массива

a1 = Array.new
a2 = Array.new 10       # a2.size=10
a3 = Array.new(10,"a")  # "a","a"...
a4 = Array.new(10) { |e| e=e*2 }
a5 = Array.[]("a","b","c")
a6 = Array["a","b","c"]
a7 = Array(0..9)
a8 = %w(a b c d e)
a9 = [1,2,3]
a9[0] = 0
a9 << 4
a9.each do |e|
   puts e
end
a0 = [ ['a',1], ['b',2], ['c',3] ]

# Получение элементов массива

x = a9.at(0)
x = a9.first
x = a9.last 3    # последние 3 элемента
x = a9.index 2
y = a9[1, 2]     # 2 элемента с первого
y = a9[1..2]
a9[1..2] = [1, 2]

# Операции с массивами

a0 = a1 + a2
a0 = a1 & a2   # пересечение
a0 = a1 | a2   # объединение
a0 = a1 - a2   # разность

# Методы массивов

a9.push 5
x = a9.pop
a9.insert 0, 2
a9.shift 5
x = a9.unshift
a9.delete_at 2
a9.delete 1
a9.sort!
a9.reverse
a0 = a1.map { |e| e.to_s }
a0.empty?