Ruby
Теория: Способы определения массивов
В Ruby необычно много способов создания массивов. Они помогают сделать определение короче, и достаточно часто используются на практике. Особенно любит их линтер Rubocop.
%w позволяет задавать массив перечислением без использования дополнительных символов. Даже в примере выше видно, насколько код получается короче и даже читаемее. Единственное ограничение такого способа – наличие пробелов в значениях. Каждый пробел считается разделителем значений:
Технически, слова можно экранировать, но так обычно не делают из-за резкого ухудшения читаемости:
Похожим способом создается массив символов, только вместо %w используется %i:
Так же массивы можно создавать из диапазонов или итераторов:
В некоторых достаточно редких случаях можно воспользоваться динамическим созданием значений. Для этого используется конструктор Array и блок, вычисляющий значение для нужного индекса:

