23. November 2017 06:19

scala: new wave javac

von robert 17. Nov 2009 16:28 (vor 2928 Tagen) ~ comments (0)

scala ist ein der vielen neuen sprachen, die auf der java VM laufen. derzeit erfährt das ding ne menge hype. zwar ist scala statisch typisiert.. aaaber mit einem tollen typensystem, das deduktiv die datentypen erkennt und damit umständliche deklarationen vermeidet. ich habe mir gerade einen text von james strachan durchgelesen. der verdiente java veteran ist begeistert und sieht in scala einen möglichen nachfolger für java.

danach habe ich gleich einen seiner links zu den IBM developerWorks angeklickt und bin ganz schön ins kichern geraten. aber seht selbst:

def filterFeed(feed:Elem, feedId:String):Seq[Node] = {
   var results = new Queue[Node]()
   feed\"entry" foreach{(entry) =>
     if (search(entry\"service"\"id" last, feedId)){
       results += (entry\"user"\"nickname").last
     }
   }
   return results
 }

 def search(p:Node, Name:String):Boolean = p match {
   case <id>{Text(Name)}</id> => true
   case _ => false
 }

der code soll ein xml dokument filtern, indem es alle tags /entry/service/id mit einer zeichenkette vergleicht. das sieht aus wie, ähm, eine perleske parodie auf eine skriptsprache. faszinierend die search() funktion: man baut sich ein tag mit einem content-node, den man mit dem test-node vergleicht. warum nicht direkt den text vergleichen? naja und das case _ soll so eine art default sein… sieht so die zukunft von java aus? manchen leutchen ist einfach nicht zu helfen.

achja. hier das zitat zur fantastischen mustererkennung:

This function uses one of the most powerful features of Scala, its pattern matching. In this case, you compare the input node against a node named id that has a child text node made of the Name string passed in to the function. If there is a match, the function returns true. The syntax case _ matches everything else. The _ is again being used a wildcard in Scala. A statement like case _ is similar to a default clause in a case statement in Java or C++ code. This is a pretty simple example of the power of pattern matching in Scala


Kommentare

Kommentar
Dein Name *
Deine E-Mail-Adresse * (nur für die Redaktion, wird nicht veröffentlicht!)
Deine Internetseite
Bitte geben Sie den Text auf diesem Bild ein.
captcha image
Angaben für weitere Kommentare merken?
 

About
alotta-log is your friendly blogserver. multiuser - multiblog - php/my/xorc based.

currently this is a beta version. stay tuned.
Impressum
Disclaimer
"this site looks best if you come over here and look at my monitor."
 
Themen
Unser T-Shirt
neueste eintraege in diesem blog
mixtape

1 DJ T / Robot Riot - Electric Press Remix

2 Bucci Bag / More Lemonade - Sparkling Version

3 Soto / Hootenanny - Original Mix

4 Joe Galdo / Keef - Original Mix

5 Myagi / Subversion - Price Cuts Remix

6 DJ Fixx / Electric - Original Mix

7 DJ Fixx / Push Em Up - Original Mix

8 Klaus / Big Man - Original Mix

9 Jesse Saunders / Everybody - Slapin Breaks Remix

10 Soto / Manic - Soto Remix

11 Chikinki / Like It Or Leave It

www.flickr.com
Administration

rss/xml xorc based

alotta-less, 2009