Scala Advanced – Notizen

Hallo zusammen,

ich war die letzten 2 Tage auf einer weiteren Scala Schulung. Dieses mal, Scala advanced.
Was genau behandelt wurde und wie es war, werde ich am Wochenende schrieben.
Vorab schonmal die Notizen, die ich mir nebenher gemacht habe, die nicht zwingend zum Kurs waren, aber allgemein zum Thema scala, in der Hoffnung, dass die den einen oder anderen weiter bringen.

  • copy method wird bei case classes automatisch erstellt und man kann belibige val der klasse überschreiben
  • Companions (gleich benannente Class und Object in der selben Datei) können gegenseitig private Fields / Methods sehen
  • Man sollte Vector anstatt grosser List benutzen, da gerade Operationen wie get(n) sehr ineffizient sind. Seq ist intern eine Liste.
  • Funktionen sind Objekte
  • Im Patter-Matching eine Variable in Backticks referenziert ein Objekt von aussen (constant Pattern) während ohen Backticks eine neue Variable erzeugt wird (variable Pattern)
  • slf4s ist ein Loggine Wrapper für Scala
  • http://docs.scala-lang.org ist eine Community Doku für scala mit Tutorials
  • http://aperiodic.net/phil/scala/s-99/ ist eine Sammlung von Lösungen für scala Probleme
  • http://projecteuler.net/ stellt Aufgaben, die u.a. mit scala elegant gelöst werden können
  • http://code.google.com/p/scalacheck/ : ScalaCheck is a powerful tool for automatic unit testing of Scala and Java programs. It features automatic test case generation and minimization of failing test cases.
  • Anstatt abstrakter Klassen immer Traits benutzen, wenn die Klasse keine Konstuktor-Parameter hat
  • Bei Methoden immer den Rückgabewert hinschreiben und ein =. Das vermeidet den Java Methoden Style
  • => (by named parameter) macht named Paramters und sorgt dafür, dass die erst zur Laufzeit ausgeführt werden
  • Bei @tailrec muss die Method final bzw. private sein oder und inem Object sein
  • Wenn ein Operator mit Doppelpunkt aufhört, dreht er von links- nach rechts-assoziativ
  • Dot-free Notation soll nur benutzt werden, wenn die Methode keine Seiteneffekt hat
  • Methoden ohne Paramter sollte man ohne Klammern für Parameter definieren
  • Die Methode init gibt bei Collections alle Elemente bis auf das letzte zurück und tail alle bis auf das erste.
GD Star Rating
loading...

Kommentar verfassen