Scala 特殊的對象和關鍵字

Option: 標準類庫中的Option類型用樣例類來表示那種可能存在、也可能不存在的值。函數

Option 有兩個子類別,一個是 Some,一個是 None,當他回傳 Some 的時候,表明這個函式成功地給了你一個 String,而你能夠透過 get() 這個函式拿到那個 String,若是他返回的是 None,則表明沒有字符串能夠給你。 固然,在返回 None,也就是沒有 String 給你的時候,若是你還硬要調用 get() 來取得 String 的話,Scala 同樣是會報告一個 Exception 給你的 由於 Option[T] 除了 get() 以外,也提供了另外一個叫 getOrElse() 的函式,這個函式正如其名--若是 Option 裏有東西就拿出來,否則就給個默認值。 參考urlurl

implicit(隱式轉換): *以implicit關鍵字聲明的帶有單個參數的函數。*implicit conversion function ,這樣的函數將被自動應用,將值從一種類型轉換爲另外一種類型。 【 example】 咱們想把整數n轉換成分數n/1..net

<!-- lang: scala -->
implicit def int2Fraction (n: Int) = Fraction(n, 1)

這樣就能夠用以下表達式求值:scala

<!-- lang: scala -->
val result = 3 * Fraction(4, 5)  //將調用int2Fraction(3)

yield:對於for -yield表達式的語法是這樣的: for {子句} yield {循環體} yield在整個循環體以前code

for 循環中的 yield 會把當前的元素記下來,保存在集合中,循環結束後將返回該集合。Scala 中 for 循環是有返回值的。若是被循環的是 Map,返回的就是 Map,被循環的是 List,返回的就是 List,以此類推blog

相關文章
相關標籤/搜索