Ruby
Теория: Деструктуризация
Destructuring – синтаксический сахар для разложения составных данных на элементы. Удобная возможность языка, которая повышает читабельность кода и немного сокращает его количество. Пример:
Имена переменных name и description могут быть любыми, на
деструктуризацию это не влияет. Стоит запомнить, что для
деструктуризации вложенных массивов нам нужно знать либо количество
элементов в массиве, либо пропустить их, чтобы не получить исключение.
Пример:
Часто деструктуризацию используют для отделения первого (или первых) элемента от остальных. Для этого используется splat-оператор – *.
Деструктуризация, к сожалению, не работает для хешей. Однако можно немного схитрить и получить похожую функциональность:
Деструктуризация может применяться везде, включая параметры функций и блоков:

