Jak wszyscy wspominają, jest to „plama”. Poszukiwanie składni Ruby jest niemożliwe i zadałem to w innych pytaniach. Odpowiedź na tę część pytania jest taka, że szukasz
asterisk in ruby syntax
w Google. Google jest do Twojej dyspozycji, po prostu opisz to, co widzisz, w słowach.
W każdym razie, podobnie jak większość kodu Rubiego, ten kod jest dość gęsty. Plik
line.split(/=|;/)
sprawia szereg elementów sześć, first_name, mickey, last_name, mouse, country, usa
. Następnie ikona jest używana do przekształcenia tego w skrót. Teraz ludzie Ruby zawsze wysyłają cię do metody Splat, ponieważ wszystko jest ujawnione w Rubim. Nie mam pojęcia, gdzie to jest, ale kiedy już to zrobisz, zobaczysz, że przechodzi for
przez tablicę i buduje hash.
Szukałbyś kodu w podstawowej dokumentacji. Jeśli nie możesz go znaleźć (nie mogłem), spróbuj napisać taki kod (który działa, ale NIE jest kodem podobnym do Rubiego):
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"]
a wtedy gang Rubiego będzie w stanie powiedzieć ci, dlaczego twój kod jest głupi, zły lub po prostu błędny.
Jeśli przeczytałeś do tej pory, przeczytaj dokumentację Hash dotyczącą inicjalizacji.
Zasadniczo skrót, który jest inicjowany kilkoma argumentami, tworzy je jako pary klucz-wartość:
Hash["a", 100, "b", 200] #=> {"a"=>100, "b"=>200}
W twoim przykładzie doprowadziłoby to do następującego skrótu:
{"first_name"=>"mickey", "last_name"=>"mouse", "county"=>"usa"}
a,b,*c = d,e,f,*g
ustawia a = d, b = e, ic = [f, g0, g1, g2, ..., gn], gdzie g = [g0, g1, g2, ..., gn]