[Quiz #1] Thomas Darimont (Scala)

Thomas Darimont

Erfahrenes Mitglied
Hallo,

Java:
package de.tutorials.contest

import scala.io._

object FuzzySearch {
  def main(args:Array[String]):Unit={
    var query = 
      "oooo"
      //"George Bush"
      //"JFK"
    
    for(item <- Source.fromFile("c:/temp/presidents.txt").getLines){
        var partialMatches = matchWith(query.replace(" ",""),item)
        if(partialMatches != null){
           var mutableItem = new StringBuilder(item)
           partialMatches.foreach(m => {  
              mutableItem.insert(m(1),'>') 
              mutableItem.insert(m(0),'<')
              }
          )
          println(mutableItem)
        }
    }
  }
  
  def matchWith(query: String, item: String) : List[Array[int]] = {
    var partialMatches = List[Array[int]]();  
    var offset = -1
    for(queryChar <- query){
       offset = item.indexOf(queryChar,offset+1)
       if(offset == -1){
          return null;
       }
       if ( partialMatches.isEmpty || partialMatches.first(1) != offset){
          partialMatches = Array(offset,offset + 1)::partialMatches 
       }else{
          partialMatches.first(1)=partialMatches.first(1)+1
       }
    }
    return partialMatches;  
  }
}
... geht mit Sicherheit noch viel eleganter mit Scala...

Gruß Tom
 
Interessant, Scala kannte ich bis jetzt noch überhaupt nicht. Du hast es jedenfalls geschafft, mich neugierig zu machen - werd mir die Sprache demnächst mal genauer anschauen. Darf man fragen, was du damit bisher gemacht hast?

Auch interessant: jede Zeile deiner Lösung lässt sich fast 1:1 einer Zeile in meiner Ruby-Lösung zuordnen :suspekt: Genies denken in parallelen Bahnen, nicht wahr? ;-)

Grüße,
Matthias
 

Thomas Darimont

Erfahrenes Mitglied
Hallo,

mit Scala hab ich schon einiges gemacht :)
(Eclipse-Plugins, Open Office Automation, Serverseitige Anwendungen, und und und...)
Scala rockz ;-) (und das Eclipse-Tooling wird auch immer besser :)

Manches davon hat man dann auch im Forum wieder gefunden:
http://www.tutorials.de/forum/java/...igenen-plugins-erweitern.html?highlight=scala
http://www.tutorials.de/forum/java/...lierte-scala-anwendungen.html?highlight=scala
http://www.tutorials.de/forum/java/316849-eclipse-plugins-mit-scala.html?highlight=scala
http://www.tutorials.de/forum/java/...scriptsprache-scala-einer-java-anwendung.html
http://www.tutorials.de/forum/java/...fice-scalc-spreadsheets-mit-java-via-uno.html

Hihi witzig :) Nach meiner holprigen Java Lösung hab ich mich bei der Scala Variante einfach mal auf das wesentliche beschränkt ;-)

Gruß Tom
 

Neue Beiträge