Dobra, więc oto oferta, od wieków szukam rozwiązania tego problemu i chociaż jest ich wielu, wydaje się, że nie wykonują pracy, której szukam.
Zasadniczo mam taką strukturę tablicy
["item 1", "item 2", "item 3", "item 4"]
Chcę przekonwertować to na skrót, więc wygląda to tak
{ "item 1" => "item 2", "item 3" => "item 4" }
tzn. elementy, które znajdują się w indeksach „parzystych” są kluczami, a elementy w indeksach „nieparzystych” są wartościami.
Wszelkie pomysły, jak to zrobić czysto? Podejrzewam, że metodą brutalnej siły byłoby po prostu wyciągnięcie wszystkich parzystych indeksów do oddzielnej tablicy, a następnie zapętlenie ich w celu dodania wartości.
*
nazywany jest operatorem splat . Pobiera tablicę i przekształca ją w dosłowną listę elementów. Więc*[1,2,3,4]
=>1, 2, 3, 4
. W tym przykładzie powyższe jest równoważne z działaniemHash["item 1", "item 2", "item 3", "item 4"]
. IHash
ma[]
metodę, która akceptuje listę argumentów (tworząc klucze indeksów nieparzystych i wartości indeksów nieparzystych), aleHash[]
nie akceptuje tablicy, więc używamy jej do splatania*
.