Добре, ось ось угода, я впродовж століть шукаю рішення, і хоча там багато, вони, схоже, не виконують роботу, яку я шукаю.
В основному у мене такий масив структурований
["item 1", "item 2", "item 3", "item 4"]
Я хочу перетворити це на хеш, щоб воно виглядало так
{ "item 1" => "item 2", "item 3" => "item 4" }
тобто елементи, які знаходяться в "парних" індексах, є ключами, а елементи в "непарних" індексах - значеннями.
Будь-які ідеї, як це зробити чисто? Я припускаю, що методом грубої сили буде просто витягнути всі парні індекси в окремий масив, а потім обвести навколо них, щоб додати значення.
*
називається оператором splat . Він займає масив і перетворює його в буквальний список елементів. Отже*[1,2,3,4]
=>1, 2, 3, 4
. У цьому прикладі вищезгадане рівнозначне виконаннюHash["item 1", "item 2", "item 3", "item 4"]
. ІHash
має[]
метод, який приймає список аргументів (складання парних ключів та непарних значень індексів), алеHash[]
не приймає масив, тому ми забризкуємо масив, використовуючи*
.