Монада параметров в scala

как должна работать монада Option? Я просматриваю scala api , и есть пример (я имею в виду второй),

Из-за того, как работает для понимания, если None возвращается из request.getParameter, все выражение приводит к None

Но когда я пробую этот код:

 val upper = for {
   name <- None //request.getParameter("name")
   trimmed <- Some(name.trim)
   upper <- Some(trimmed.toUpperCase) if trimmed.length != 0
 } yield upper
 println(upper.getOrElse(""))

, я получаю ошибку компиляции. Как это должно работать?

5
задан giampaolo 13 February 2014 в 21:21
поделиться