嗨我是新来的斯卡拉和编程一般。我在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