我需要的是這樣的:雙變量參數列表
class Node (left : Node*, right : Node*)
我明白這個簽名的模糊性。
有沒有比它更好的解決方法?
class Node (left : Array[Node, right : Array[Node])
val n = new Node (Array(n1, n2), Array(n3))
也許某種類似這樣的分離?
val n = new Node (n1, n2, Sep, n3)
我需要的是這樣的:雙變量參數列表
class Node (left : Node*, right : Node*)
我明白這個簽名的模糊性。
有沒有比它更好的解決方法?
class Node (left : Array[Node, right : Array[Node])
val n = new Node (Array(n1, n2), Array(n3))
也許某種類似這樣的分離?
val n = new Node (n1, n2, Sep, n3)
你可以有多個參數列表,每一個都可以有(或僅僅是)一個重複-args參數:
scala> def m1(ints: Int*)(strs: String*): Int = ints.length + strs.length
dm1: (ints: Int*)(strs: String*)Int
scala> m1(1, 2, 3)("one", "two", "three")
res0: Int = 6
我在斯卡拉2.8 REPL跑這個。我不知道2.7的原因,不適用。
我不相信你可以有多個可變參數。你也許可以做類似
class Node(left: Node*) {
def apply(right: Node*) = ...
,然後你可以創建new Node(n1,n2)(n3)
這工作:
class Node (left : Node*) (right : Node*)
斯卡拉是偉大的!
@Łukasz盧:我只有9秒落後了! – 2010-05-09 01:01:35
所以我會給你回答的偉大的綠色勾號:) – 2010-05-09 09:14:44