Zebra-Puzzle in der Scala

Ich versuche, durch Udacity CS212 mit Scala zu arbeiten, hatte aber Probleme mit dem Zebra Puzzle,

Einige der Konzepte in Python einfach nicht konvertieren, um Scala leicht, vor allem für einen Anfänger wie mich.

SS von Python-Codes

Das sind die Codes, die ich bisher geschafft habe,

val houses = List(1, 2, 3, 4, 5) val orderings = houses.permutations def imright(h1: Int, h2: Int): Boolean = { if (h1 - h2 == 1) true else false } def nextto(h1: Int, h2: Int): Boolean = { if (math.abs(h1 - h2) == 1) true else false } 

the houses = [first, _, middle, _. _] = [1, 2, 3, 4, 5] the houses = [first, _, middle, _. _] = [1, 2, 3, 4, 5] stumpte mich Außerdem, wie kann ich das for (red, green, ivory, yellow, blue) in orderings in Scala ausdrücken? Bitte helfen Sie mir, danke.

One Solution collect form web for “Zebra-Puzzle in der Scala”

Sie wollen

 val houses = List(1, 2, 3, 4, 5) val List(first, _, middle, _, _) = houses 

und

 for (List(red, green, ivory, yellow, blue) <- orderings) 

beziehungsweise. Beachten Sie auch, dass in Scala diese Art von Zerstörungen Variablen zugeordnet werden müssen, beginnend mit einem Kleinbuchstaben; Großbuchstaben zeigt an, dass es stattdessen stattdessen einer vorhandenen Variablen entsprechen soll (oder eine Ausnahme auslösen, wenn dies nicht der Fall ist).

  • Welche Programmiersprachen kann ich auf Android Dalvik verwenden?
  • Spark: Wie komme ich Python mit Scala oder Java User Defined Functions?
  • Wie benutzt man Scala und Python in einem selben Spark-Projekt?
  • Wenn du Python als Unterprozeß anrufst, kann ich es zwingen, im interaktiven Modus zu laufen?
  • Wie man eine Textdatei in mehrere Spalten mit Spark aufteilt
  • Bootstrapping eines Webservers in Scala
  • Wie funktioniert die pyspark mapPartitions funktionieren?
  • Gibt es ein Scala / Java-Äquivalent von Python 3's Sammlungen.Counter
  • Wie benutzt man Java / Scala-Funktion aus einer Aktion oder einer Transformation?
  • Wie benutzt man eine Scala-Klasse in Pyspark
  • Python-Äquivalent von Scala's existiert () Funktion?
  • Python ist die beste Programmiersprache der Welt.