Enumeration funktioniert wie erwartet, wenn ich es in einem Maven-Projekt (mit der gleichen Scala-Version) verwenden.Warum Scala Enumeration funktioniert nicht in Apache Zeppelin, aber es funktioniert in maven
object t {
object DashStyle extends Enumeration {
val Solid,ShortDash = Value
}
def f(style: DashStyle.Value) = println(style)
def main(args: Array[String]) = f(DashStyle.Solid)
}
Aber wenn es läuft in Apache Zeppelin (Zeppelin 0,6 Spark 1.6, Scala 2.10, Java 1,8)
object DashStyle extends Enumeration {
val Solid,ShortDash = Value
}
def f(style: DashStyle.Value) = println(style)
f(DashStyle.Solid)
Es meldet folgende Fehler selbst sagt, es gefunden und erforderlich Typ ist genau das gleiche
<console>:130: error: type mismatch;
found : DashStyle.Value
required: DashStyle.Value
f(DashStyle.Solid)
Warum und wie soll ich es verwenden?
Was ist die Scala Version Ihres Maven-Projekt? – pedrofurla
Auf einer anderen Anmerkung empfehle ich Scala Enumerations nicht, sie sind notorisch fehlerhaft. Ich empfehle die Verwendung von ADTs. – pedrofurla
Mögliches Duplikat von ["error: type mismatch" in Spark mit den gleichen gefundenen und benötigten Datentypen] (http://stackoverflow.com/questions/37476790/error-type-mismatch-in-spark-with-same-found-and - benötigte Datentypen) – zero323