« Wer hat noch nicht? | Main| Wie jeder der in der IT Branche beschäftigt ist »

Urlaub -> Scala (1)

0
Category
Hier das Script, welches ich heute abend ausprobiert habe ->

import scala.io._

def toInt(in : String) : Option[Int] =
try {
        Some(Integer.parseInt(in.trim))        
} catch {
        case e: NumberFormatException => None
}

def sum(in : Seq[String]) =
{
        val ints = in.flatMap( s => toInt(s))
        ints.foldLeft(0)((a,b) => a + b)
}


val input = Source.fromFile("input.txt")
val lines = input.getLines.collect
println( "Sum " + sum(lines))
Erste Zeile, mal was importieren
Man beachte den _ in Java würde man ein * schreiben...

Option[int] -> Option ist eine Klasse, welche ein Element oder Kein Element enthalten kann. Enthält Option kein Element, so ist es gleich dem Singelton None.
Some ist abgeleitet von Option und muß ein Elment enthalten und kann somit an Option zugewiesen werden.

Sonst ist alles mit der toInt-Methode klar, aber fehlt da nicht was? Ein return?
Nein es fehlt kein return, da der letzte ausgewertete Ausdruck zurückgegeben wird... spart also pro Methode mit Rückgabewert mindestens 6 Zeichen

Jetzt schaue ich noch ein bisserl 24, den Rest erkläre ich vielleicht morgen

Ach so, foldLeft, geht einfach vom Anfang der Liste durch und summiert die Werte auf. Der Trick, man definiert eine Funktion, welche auf einem Tupel basiert.

So jetzt Nächtle!

Gruß JJR
P.S.: Wer scala ohne Eclipse-IDE usw. verwenden möchte, TEXTPAD hat eine Syntax-Definition!

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

Amazon


Impressum

Firmenname: Peanuts-Soft
Straße Nummer: Biinger Strasse 8
PLZ Ort: 55263 Wackernheim
Telefon: +491772134526
E-Mail: joerg.reck @ peanuts-soft.de
Disclaimer: Peanuts-Soft übernimmt keine Garantie dafür, dass die auf dieser Website bereitgestellten Informationen vollständig, richtig und stets aktuell sind. Dies gilt auch für alle Links, auf die verwiesen wird. Peanuts-Soft ist für die Inhalte, auf die per Link verwiesen wird, nicht verantwortlich. Peanuts-Soft haftet nicht für konkrete, mittelbare und unmittelbare Schäden oder Schäden, die durch fehlende Nutzungsmöglichkeiten, Datenverluste oder entgangene Gewinne – sei es aufgrund der Nichteinhaltung vertraglicher Verpflichtungen, durch Fahrlässigkeit oder eine andere unerlaubte Handlung – im Zusammenhang mit der Nutzung von Dokumenten oder Informationen bzw. der Erbringung von Dienstleistungen entstehen, die auf dieser Web Site zugänglich sind.
Datenschutz: Inhalt und Gestaltung der Internetseiten sind urheberrechtlich geschützt. Eine Vervielfältigung der Seiten oder deren Inhalte bedarf der vorherigen schriftlichen Zustimmung von Peanuts-Soft.


Locations of visitors to this page

Powered By

Domino BlogSphere
Version 3.0.2