嗨我是新來的斯卡拉和編程一般。我在coursera上學習了一個Scala課程,其中一個任務是創建函數,它將set作爲參數並返回另一個set,它是2組的union/intersection/difference。這是交叉點的解決方案:這個代碼示例中scala如何推斷類型?
def intersect(s: Set, t: Set): Set = elem => s(elem) && t(elem)
我不明白elem。 Scala如何知道它是集合中的一個元素,爲什麼如果在shell中嘗試它會返回錯誤:缺少參數類型。
工會和差(相同)的解決方案:
def union(s: Set, t: Set): Set = elem => s(elem) || t(elem)
def diff(s: Set, t: Set): Set = elem => s(elem) && !t(elem)
的可變集的通用特徵。
一組是不包含重複元素的集合。
實現注意事項:該特徵提供獨立於其表示的大部分集合操作。它通常由具體的集合實現繼承。
要實現的具體設置,您需要提供以下方法實現:
def contains(key: A): Boolean
def iterator: Iterator[A]
def +(elem: A): This
def -(elem: A): This
仔細看看'Set'的定義,你應該能夠弄清楚elem是什麼。另外,如果你想要一個答案,你應該發佈'Set'的定義(我只知道它,因爲我接受了同一個類)。 – 2013-05-11 15:14:50