Scala中预期的定义错误开始

时间:2015-08-14 16:26:43

标签: scala

我正在尝试运行this math.stackexchange post中提供的Scala代码(请参阅第二个答案),但似乎遇到了以implicit def...开头的问题。编译器告诉我error: expected start of definition

有什么想法?谢谢!

我应该补充一点,我正在使用http://www.tutorialspoint.com/compile_scala_online.php来运行我的代码。

2 个答案:

答案 0 :(得分:7)

刚刚尝试了Scala REPL上的示例,它可以按预期使用。

implicit def移动到对象:

object MyImplicits {
  /** Pimp `Set[X]` with a few convenient operators */
  implicit def logicalSetOps[X](set: Set[X]) = new {
    def and(other: Set[X]) = set.intersect(other)
    def or(other: Set[X]) = set.union(other)
    def minus(other: Set[X]) = set.filterNot(other.contains)
  }
}

然后执行:

import MyImplicits._

那应该适合你。

答案 1 :(得分:3)

该示例中的代码旨在粘贴到工作表或REPL中。

还应该将其粘贴到

object MathApp extends App {
  // paste here
}

然后您可以将 MathApp 作为scala或java应用程序运行。