我正在尝试运行this math.stackexchange post中提供的Scala代码(请参阅第二个答案),但似乎遇到了以implicit def...
开头的问题。编译器告诉我error: expected start of definition
。
有什么想法?谢谢!
我应该补充一点,我正在使用http://www.tutorialspoint.com/compile_scala_online.php来运行我的代码。
答案 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应用程序运行。