5
我偶然發現了Scala中一個非常有趣的行爲。Scala:函數/方法應用程序和元組
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
這也適用其他方式輪:
scala> Some(1,2,3,4,5)
res31: Some[(Int, Int, Int, Int, Int)] = Some((1,2,3,4,5))
雖然這種糖是非常有用的我沒有找到關於此的任何文件。所以我的問題基本上是:Scala語言規範中記錄了哪些內容,以及這有什麼其他影響。
問候, raichoo
相關的部分是不是'(((1,2,3)))'只是周圍的括號括號圍繞一個元組? – delnan 2011-02-23 21:31:02
同意,忘記最後2個foos :)更新:刪除它們 – raichoo 2011-02-23 21:33:55
看看由retromin提供的答案,從去年5月的2850902這個問題提供了一些細節。還討論了其他後果。 – 2011-02-23 22:01:02