Herkesin söylediği gibi, bu bir "uyarısı" dır. Ruby sözdizimini aramak imkansız ve bunu diğer sorularda sordum. Sorunun bu kısmının cevabı,
asterisk in ruby syntax
Google'da. Google sizin için orada, gördüklerinizi kelimelere dökün.
Anyhoo, bir çok Ruby kodu gibi, bu kod oldukça yoğundur.
line.split(/=|;/)
bir dizi SIX öğesi yapar first_name, mickey, last_name, mouse, country, usa
,. Daha sonra uyarısı bunu bir Hash haline getirmek için kullanılır. Şimdi Ruby insanlar her zaman Ruby'de her şey ortaya çıktığı için sizi Splat yöntemine bakmaya gönderirler. Nerede olduğu hakkında hiçbir fikrim yok, ama bir kez sahip olduğunuzda,for
dizi üzerinden ve karma oluşturur.
Çekirdekteki kodu ararsınız belgelerde ararsınız. Eğer bulamıyorsanız (bulamadım), böyle bir kod yazmaya çalışırsınız (çalışır, ancak Ruby benzeri kod DEĞİLDİR):
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"]
ve sonra Ruby çetesi size kodunuzun neden aptal, kötü ya da sadece yanlış olduğunu söyleyebilecektir.
Şimdiye kadar okuduysanız, Hash'i , başlatma belgelerini .
Temel olarak birkaç argümanla başlatılan bir karma, bunları anahtar değer çiftleri olarak oluşturur:
Hash["a", 100, "b", 200] #=> {"a"=>100, "b"=>200}
Yani örneğinizde bu, aşağıdaki Karma'ya yol açacaktır:
{"first_name"=>"mickey", "last_name"=>"mouse", "county"=>"usa"}
a,b,*c = d,e,f,*g
a = d, b = e ve c = [f, g0, g1, g2, ..., gn] ayarlar, burada g = [g0, g1, g2, ..., gn]