Advertisement
ZivkicaI

OptionsInScala

Dec 2nd, 2019
824
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.81 KB | None | 0 0
  1. package part3Udemy
  2.  
  3. object Options extends App{
  4.     val myFirstOption: Option[Int]=Some(4)
  5.     val noOption: Option[Int]=None
  6.  
  7.  
  8.   println(myFirstOption)
  9.  
  10.   //options were invented to deal with unsafe APIs
  11.  
  12.   def unsafeMethod(): String = null
  13.   //val result=Some(null) //WRONG
  14.   val result=Option(unsafeMethod())   //Some or None, celta e da ne koristime null sami tuku metodot da go napravi toa za nas
  15.   println(result)
  16.  
  17.   def backupMethod(): String = "A valid result"
  18.   val chainedResult= Option(unsafeMethod()).orElse(Option(backupMethod()))
  19.  
  20.   //functions on Options
  21.   println(myFirstOption.isEmpty)
  22.   println(myFirstOption.get)  //UNSAFE- DO NOT USE THIS!!
  23.  
  24.   //map, flatMap, filter
  25.  
  26.   println(myFirstOption.map(_*2)) //Some(8) namesto Some(4)
  27.   println(myFirstOption.filter(x=> x>10)) //NONE
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement