以下代碼在Scala中如何工作?一些具有多個參數創建元組的選項
scala> Some(2,true,3, false)
res13: Some[(Int, Boolean, Int, Boolean)] = Some((2,true,3,false))
我沒有看到爲某些可以接受多個參數定義的應用方法。
以下代碼在Scala中如何工作?一些具有多個參數創建元組的選項
scala> Some(2,true,3, false)
res13: Some[(Int, Boolean, Int, Boolean)] = Some((2,true,3,false))
我沒有看到爲某些可以接受多個參數定義的應用方法。
如果元組不適合,則可以隱式調整多個參數以形成元組;這會發生的任何方法,沒有什麼特別的Some
在這裏:
def doSomething(a: Any) = {...}
doSomething(2, true, 3, false)
你可以(而且,我認爲,應該這樣;它是可以掩蓋編程錯誤一個不良特性)使編譯器發出一個警告,如果這發生,通過標誌-Ywarn-adapted-args
。請參閱here獲取類似推薦標誌的列表。
Some(2,true,3, false)
是語法糖0123'。
這就是爲什麼類型是Some[(Int, Boolean, Int, Boolean)]
它的工作原理,直到22元,如果你需要更多的,那麼你可以使用一個集合,而不是一個元組。
另請參閱http://stackoverflow.com/questions/5997553/why-and-how-is-scala-treating-a-tuple-specially-when-calling-a-one-arg-function http:// stackoverflow.com/questions/3526156/in-scala-how-come-println1-2-works http://stackoverflow.com/questions/2850902/scala-coalesces-multiple-function-call-parameters-into-a-tuple -can-this-be-di/2852147#2852147 – stew
感謝您的參考!這很令人驚訝。 – user3246194