Als «scala» getaggte Fragen

Scala ist eine universelle Programmiersprache, die hauptsächlich auf die Java Virtual Machine abzielt. Entwickelt, um gängige Programmiermuster auf prägnante, elegante und typsichere Weise auszudrücken, vereint es sowohl imperative als auch funktionale Programmierstile. Seine Hauptmerkmale sind: ein fortschrittliches statisches Typsystem mit Typinferenz; Funktionstypen; Mustervergleich; implizite Parameter und Konvertierungen; Überlastung des Bedieners; volle Interoperabilität mit Java; Parallelität


5
Wie verwende ich Column.isin mit Liste?
val items = List("a", "b", "c") sqlContext.sql("select c1 from table") .filter($"c1".isin(items)) .collect .foreach(println) Der obige Code löst die folgende Ausnahme aus. Exception in thread "main" java.lang.RuntimeException: Unsupported literal type class scala.collection.immutable.$colon$colon List(a, b, c) at org.apache.spark.sql.catalyst.expressions.Literal$.apply(literals.scala:49) at org.apache.spark.sql.functions$.lit(functions.scala:89) at org.apache.spark.sql.Column$$anonfun$isin$1.apply(Column.scala:642) at org.apache.spark.sql.Column$$anonfun$isin$1.apply(Column.scala:642) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245) at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:35) …

8
Scala - Druckarrays
Es scheint, dass die Unterstützung für das Drucken von Arrays in Scala etwas fehlt. Wenn Sie einen drucken, erhalten Sie den Standardmüll, den Sie in Java erhalten würden: scala> val array = Array.fill(2,2)(0) array: Array[Array[Int]] = Array(Array(0, 0), Array(0, 0)) scala> println(array) [[I@d2f01d Darüber hinaus können Sie die Java toString …
71 scala 


7
Scala mit IntelliJ einrichten
Ich habe Intellij Ultimate 11.1 mit dem installierten Scala-Plugin. Ich habe Scala 2.9.2 mit Homebrew installiert, wodurch Scala eingefügt wurde: /usr/local/Cellar/scala/2.9.2> >which scala /usr/local/bin/scala >scala -version Scala code runner version 2.9.2 -- Copyright 2002-2011, LAMP/EPFL Beim Erstellen eines neuen Java-Modulprojekts erhalte ich Folgendes: Kann mir jemand helfen, diese Probleme zu …




11
Scala Double Definition (2 Methoden haben den gleichen Löschtyp)
Ich habe dies in Scala geschrieben und es wird nicht kompiliert: class TestDoubleDef{ def foo(p:List[String]) = {} def foo(p:List[Int]) = {} } Der Compiler benachrichtigt: [error] double definition: [error] method foo:(List[String])Unit and [error] method foo:(List[Int])Unit at line 120 [error] have same type after erasure: (List)Unit Ich weiß, dass JVM keine …

4
Wie mustere ich Match-Arrays in Scala?
Meine Methodendefinition sieht wie folgt aus def processLine(tokens: Array[String]) = tokens match { // ... Angenommen, ich möchte wissen, ob die zweite Zeichenfolge leer ist case "" == tokens(1) => println("empty") Kompiliert nicht. Wie mache ich das?
68 scala 

4
Warum wird in Scala schneller gezippt als zip?
Ich habe Scala-Code geschrieben, um eine elementweise Operation für eine Sammlung auszuführen. Hier habe ich zwei Methoden definiert, die dieselbe Aufgabe ausführen. Eine Methode verwendet zipund die andere verwendet zipped. def ES (arr :Array[Double], arr1 :Array[Double]) :Array[Double] = arr.zip(arr1).map(x => x._1 + x._2) def ES1(arr :Array[Double], arr1 :Array[Double]) :Array[Double] = …




2
Warum kann eine Methode, die eine Einheit zurückgibt, mit einer Methode überschrieben werden, die einen String zurückgibt, wenn Rückgabetypen nicht explizit angegeben werden?
Ich habe die Codebeispiele aus dem Kapitel über Merkmale in der Programmierung in Scala Edition1 https://www.artima.com/pins1ed/traits.html durchgearbeitet und stieß wegen meines Tippfehlers auf ein komisches Verhalten. Während zwingende Methode eines Merkmal unter Code - Schnipsel gibt keine Kompilierung - Fehler , obwohl die Rückgabetypen der überschriebenen Methode unterscheidet Unitvs String. …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.