Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.49 KB | None | 0 0
  1. case class MyCase(id: Int, str: String)
  2.  
  3. object Fail extends App {
  4.  
  5. private def theFunction(): Option[MyCase] = {
  6. implicit val intParser: String => Int = _.toInt
  7.  
  8. for {
  9. id <- parse[Int]("43")
  10. str <- parse[String]("string")
  11. } yield {
  12. MyCase(id, str)
  13. }
  14. }
  15.  
  16. private def parse[T](field: String)(implicit parser: String => T): Option[T] = {
  17. try {
  18. Some(parser(field.trim))
  19. } catch {
  20. case _:Throwable => None
  21. }
  22. }
  23.  
  24. println(theFunction())
  25.  
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement