fruit = ["apple","red","banana","yellow"]
=> ["apple", "red", "banana", "yellow"]
Hash[*fruit]
=> {"apple"=>"red", "banana"=>"yellow"}
Почему splat заставляет массив так аккуратно анализироваться в Hash?
Или, точнее, как хеш «узнает», что «яблоко» — это ключ, а «красное» — соответствующее ему значение?
Это просто потому, что они находятся в последовательных позициях в массиве фруктов?
Имеет ли значение, что здесь используется знак? Может ли хеш не определять себя из массива так напрямую?