Created
February 15, 2012 20:16
-
-
Save ThomasAlexandre/1838722 to your computer and use it in GitHub Desktop.
JFOKUS 2012 Sample from "One-liners are your friend"
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
case class Deal( title:String = "", discount:Int = 0, city:String = "" ) | |
val deal = Deal() | |
val deal = Deal("Hotel") | |
val deal = Deal("Hotel",city="Paris") | |
val betterDeal = deal.copy(discount=50) | |
import dispatch._ | |
val request = url("http://localhost:8086/deals") | |
Http( request >>> System.out) | |
val deals = Http( request as_str ) | |
val dealsAsXml = Http( request.handleResponseAsXml({ response => response }) ) | |
val dealsAsXml = Http( request.<>({ response => response }) ) | |
val dealsAsXml = Http( request.<>({ response => response.\\("deal") }) ) | |
val dealsAsXml = Http( request <> { response => response \\ "deal" } ) | |
val deals = dealsAsXml map { d => d \ "title" } | |
val deals = dealsAsXml map { d => (d \ "title").text } | |
val deals = dealsAsXml map { d => ((d \ "title").text,(d \ "discount").text,(d \ "city").text) } | |
val deals = dealsAsXml map { d => Deal((d \ "title").text,(d \ "discount").text,(d \ "city").text) } | |
val deals = dealsAsXml map { d => Deal((d \ "title").text,(d \ "discount").text.toInt,(d \ "city").text) } | |
val goodDeals = deals filter { d => d.discount > 20 } | |
val goodDeals = deals filter { _.discount > 20 } | |
val (goodDeals,badDeals) = deals partition { d => d.discount > 20 } | |
val (goodDeals,badDeals) = deals partition { _.discount > 20 } | |
val goodDealsByCity = goodDeals groupBy { _.city } | |
val nbOfGoodDealsByCity = goodDealsByCity mapValues { _.size } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment