Как все упоминают, это "сплат". Искать синтаксис Ruby невозможно, и я задавал это в других вопросах. Ответ на эту часть вопроса заключается в том, что вы ищете на
asterisk in ruby syntax
в гугле. Google для вас, просто поместите то, что вы видите, в слова.
В любом случае, как много кода на Ruby, этот код довольно плотный.
line.split(/=|;/)
создает массив элементов SIX, first_name, mickey, last_name, mouse, country, usa
. Затем сплат используется для преобразования в хэш. Теперь люди из Ruby всегда посылают вас посмотреть на метод Splat, поскольку в Ruby все открыто. Я понятия не имею, где он находится, но как только вы это сделаете, вы увидите, что он запускает for
через массив и создает хэш.
Вы искали бы код в документации core . Если вы не можете его найти (я не смог), вы попытаетесь написать такой код (который работает, но НЕ похож на Ruby):
line = "first_name=mickey;last_name=mouse;country=usa"
presplat = line.split(/=|;/)
splat = Hash.new
for i in (0..presplat.length-1)
splat[presplat[i]] = presplat[i+1] if i%2==0
end
puts splat["first_name"]
и тогда банда Ruby сможет сказать вам, почему ваш код глуп, плох или просто неверен.
Если вы читали это далеко, прочитайте документацию Hash для инициализации.
Обычно хеш, который инициализируется несколькими аргументами, создает их как пары ключ-значение:
Hash["a", 100, "b", 200] #=> {"a"=>100, "b"=>200}
Итак, в вашем примере это приведет к следующему хешу:
{"first_name"=>"mickey", "last_name"=>"mouse", "county"=>"usa"}