Как работать с массивами в Ruby

В Ruby массивы представляют собой упорядоченные, целочисленные, списковые коллекции любого типа объекта. Индекс массива начинается с 0 в Ruby, как в C и Java. Отрицательный индекс массива считается относительным от конца массива.

Инициализация массивов в Ruby

Существует несколько способов инициализации массивов в Ruby, как описано ниже:

1. Использование литерального конструктора

Новый массив можно создать с помощью литерального конструктора [] . Взгляните на следующий массив:

 arr = [1, 2, 3, 4, 5] помещает "# {arr}" 

2. Использование ключевого слова new

Массив также можно создать с помощью new вместе с аргументами.

  • Строка 1 : если аргумент не указан, создается пустой массив размера 0.

  • Строка 3 : когда указан один целочисленный аргумент, он рассматривается как размер, и создается пустой массив этой длины.

  • Строка 5 : когда передается другой аргумент вместе с целочисленным аргументом, создается массив заданной длины и заполняется вторым аргументом.

 arr1 = Array.new () помещает "# {arr1}" arr2 = Array.new (6) помещает "# {arr2}" arr3 = Array.new (3, "Educative") помещает "# {arr3  } "

v>

3. Использование блока

Массивы также можно создавать, используя блок вместе с new . Затем массив заполняется значениями, созданными блоком.

  • Строка 1,2 : этот метод может быть используется для заполнения массива элементами, каждый из которых зависит от элемента в последнем индексе.

  • Строка 3,4 : Используя этот метод, вы можете создавать многомерные массивы, такие как пустой массив 4×4, созданный в примере ниже..

 arr1 = Array.new (5) {| a |  a = a * 3} помещает "# {arr1}" arr2 = Array.new (4) {Array.new (4)} помещает "# {arr2}" 

Доступ к массиву и другие методы

Массивы в Ruby имеют много полезных встроенных методов.

  • at (int) : метод доступа к элементу массива по заданному индексу. Возвращает nil , если в индексе нет элемента или индекс выходит за границы.
  • fetch ( int, string) : метод доступа к элементу массива. Вызывает ошибку за пределами допустимого диапазона, если индекс, являющийся первым аргументом, выходит за пределы допустимого диапазона. В качестве альтернативы, если указан второй параметр, он будет напечатан.
  • length / size : Возвращает целое число, определяющее длину массива.
  • first : Возвращает первый элемент массива.
  • last : возвращает последний элемент массива.
  • take (int) : возвращает первые n элементов из массива, как указано переданным целым числом.
  • drop (int) : возвращает последние элементы length-n из массива, как указано переданным целым числом
  • empty? : возвращает логическое значение после проверки наличия в массиве каких-либо элементов.
  • include? (ele) : возвращает логическое значение, определяющее, существует ли переданный ele в массиве или нет.
  • push (ele) e>/ : Добавляет элемент в конец массива.
  • unshift ( ele) : добавляет ele в начало массива.
  • insert ( int, ele ...) : добавляет элемент (ы), начиная с заданного целочисленного индекса.
  • pop : Удаляет и возвращает последний элемент.
  • shift : Удаляет и возвращает первый элемент.
  • delete_at (int) : удаляет элемент по заданному целочисленному индексу.
 arr1 = Array.new (10  ) {| a |  a = a * 3} # Создать массив из 10 элементовputs "# {arr1}" # распечатать массивputs arr1.at (-1) # печать элемента с индексом 1 возвращает arr1.fetch (5) # печать элемента с индексом 5puts arr1. fetch (100, "oops: OutOfRange") # печать элемента с индексом 100puts arr1.length # печать длины массиваputs arr1.size # печать длины массиваputs arr1.first # печать первого элемента arrayputs arr1.last # печать последнего элемента arrayputs "#  {arr1.take (5)} "# распечатать первые 5 элементов массиваputs" # {arr1.drop (5)} "# распечатать последние 5 элементов массиваputs arr1.empty?  # проверить, пуст ли массивputs arr1.include? (9) # проверить, включает ли массив 9puts "# {arr1.push (100)}" # добавить 100 в конец массиваputs "# {arr1  

Оцените статью
nanomode.ru
Добавить комментарий