Scala of the day – RSS reader

Pidin juuri Scala kurssia ja taas tuli hurmaannuttua kielen yksinkertaisesta eleganssista tietyissä operaatioissa. Ensi vuonna jää nähtäväksi miten Java 8 Lambda Expressions vastaa tähän.

Mutta tässä yhden harjoitustehtävän hedelmä; koodi joka lukee Tieturin blogista kaikki otsikot ja listaa ne ruudulle:

  for ( line
       <- Source.fromURL("http://feeds.feedburner.com/tieturi").getLines
        if line contains("<title>") )
          println (line)

Ja tässä tämänhetkinen tulostus:

 <title>Tieturi</title>
  <title>Tieturi</title>
  <title>Työympäristö muuttuu yhä vaativammaksi, pysyykö työntekijä tahdissa mukana?</title>
  <title>Arvoista hyveisiin – päämääristä tuloksiin!</title>
  <title>Lean IT – onko palveluprosessissa läskiä?</title>
  <title>Maailmaa muuttamassa yhdessä Jurgen Appelon kanssa</title>
  <title>Kokonaisarkkitehtuuri on kaikkien asia – ei vain tietohallinnon!</title>
  <title>Tieturilaisten etäpäivästä ekopäivä</title>
  <title>HTML5 ja JavaScript – kahvipöydässä kuhisee</title>
  <title>Windows Phone 8 tähtää varteenotettavaksi yrityspuhelimeksi</title>
  <title>Pienennä hiirijalanjälkeäsi</title>
  <title>Tervetuloa IPv6!</title>

I likes it! 😉

Otetaanpas tuolta kommenttiosiosta vielä tiiviimpi ja scalamaisempi tapa tehdä sama:

Source.fromURL(“http://feeds.feedburner.com/tieturi”).getLines.filter(_.contains(“<title>”)).mkString(“\n”)
Mainokset

3 thoughts on “Scala of the day – RSS reader

  1. Ja sama vielä vähän kompaktimmin ilmaistuna. 😉

    Source.fromURL(”http://feeds.feedburner.com/tieturi”).getLines.filter(_.contains(””)).mkString(”\n”)

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s