2011-02-23 15 views
5

Scala'da oldukça ilginç bir davranışa rastladım.Scala: işlev/yöntem uygulaması ve tupleler

scala> Some(1,2,3,4,5)  
res31: Some[(Int, Int, Int, Int, Int)] = Some((1,2,3,4,5)) 

bu şeker son derece yararlı olsa da bu ilgili herhangi bir belgelerine bulamadık:

scala> def foo(t: (Int, Int, Int)): Int = t._1 
foo: (t: (Int, Int, Int))Int 

scala> foo(1,2,3) 
res23: Int = 1 

scala> foo((1,2,3)) 
res24: Int = 1 

Bu aynı zamanda diğer yönde çalışır. Bu yüzden benim sorum temelde: Scala Language Spesifikasyonu'nda belgelenmiş ve eğer varsa, başka niçin var.

Selamlar, Bir Otomatik Tupling bilinir

+1

ilgili kısmı değil mi bulunuyor '(((1,2,3)))' sadece başlığın etrafına Pars etrafında parens? – delnan

+0

Anlaştık, son 2 girişimi unutun :) Güncelleme: onları kaldırıldı – raichoo

+2

Geriye kalan soruların cevaplarını retronym tarafından verilen geçen yıl Mayıs ayından itibaren 2850902 no'lu cevaba bir göz atın. Diğer sonuçlar da tartışılmaktadır. –

cevap