27 Mayıs 2009, ÇARŞAMBA
(Tekli) * operatör bu Ruby kod ne yapar?
Ruby kod verildi
line = "first_name=mickey;last_name=mouse;country=usa"
record = Hash[*line.split(/=|;/)]
Ben ikinci satırda ayrı *
operatöründen - ne yapıyor ve nerede bu belgeler? anlamak (tahmin edebileceğiniz gibi, bu dava için arama zor olduğunu gösteriyor...)
CEVAP
27 Mayıs 2009, ÇARŞAMBA
*
splatoperatör.
Bu durumda bağımsız değişken listesinin içinde, Array
Hash.[]
yöntem için bağımsız değişken listesi genişler. Daha doğrusu, Rubyto_ary
/to_a
veya to_a
1.9.) yanıt herhangi bir nesneyi büyütür
Göstermek için, aşağıdaki iki ifade eşit
method arg1, arg2, arg3
method *[arg1, arg2, arg3]
Ayrıca farklı bir bağlamda, yöntem tanımı içinde kalan tüm yöntem bağımsız değişkenleri yakalamak için kullanılabilir. Bu durumda, genişletmek değil, ama birleştirin:
def method2(*args) # args will hold Array of all arguments
end
Bunu Paylaş:
Nasıl "nesne yapar.yeni" iş?...
&; Göster" yöntemi " Ruby ne yapa...
(Splat) çift * bir operatör ne iş yapa...
Tekli artı operatörü ne iş yapar?...
Hangi tarzı Ruby string alıntı yapan i...