Scala中的模式匹配類似於Java中的switch語法,但是更加強大。 模式匹配語法中,采用match關鍵字聲明,每個分支采用case關鍵字進行聲明,當需要匹配時,會從第一個case分支開始,如果匹配成功,那么執行對應的邏輯代碼,如果匹配不成功,繼續執行下一個分支進行判斷。如果所有 ...
現在,我們想要寫一個對於數學計算表達式的解釋器。為了保持內容簡單,我們規定這里只有數字和 運算。這樣的表達式可以表示成一個類繼承關系。有一個抽象基類Expr作為根類,和兩個子類:Number和Sum。則表達式 可以表示成: 現在,一個像這樣的表達式要知道傳入的是什么類型 Sum或者Number 。下面的實現提供了所有必要的方法。 類:Expr 類Number: 類Sum 有了這些類,可以寫出如下 ...
2012-04-12 20:34 1 3061 推薦指數:
Scala中的模式匹配類似於Java中的switch語法,但是更加強大。 模式匹配語法中,采用match關鍵字聲明,每個分支采用case關鍵字進行聲明,當需要匹配時,會從第一個case分支開始,如果匹配成功,那么執行對應的邏輯代碼,如果匹配不成功,繼續執行下一個分支進行判斷。如果所有 ...
用過Scala的模式匹配,感覺Java的弱爆了。Scala幾乎可以匹配任何數據類型,如果默認的不能滿足你的要求,你可以自定義模式匹配。 介紹Scala的模式匹配前,我們先了解清楚unapply()與unapplySeq()兩個方法: 名字叫做unapply和unapplySeq的方法 ...
一、簡單匹配 1.基本語法 匹配字面量①case _ :默認匹配②如果沒有匹配到任何case,則會拋出異常scala.MatchError③=>后如果有多個語句,可以加大括號,也可不加④模式匹配可以有返回值 def main(args: Array[String]): Unit ...
我們有時候在模式匹配的時候,多個case會輸出同樣結果,因此需要在一個case中寫入多個情況,減少重復代碼 scala模式匹配 添加多條件 | ...
Scala有一個十分強大的模式匹配機制,可以應用到很多場合:如switch語句、類型檢查等。並且Scala還提供了樣例類,對模式匹配進行了優化,可以快速進行匹配。 1、字符匹配 def main(args: Array[String ...
...
代碼如下: 輸出如下: ...
模式匹配的簡介 scala語言里的模式匹配可以看作是java語言中switch語句的改進。 模式匹配的類型 包括:常量模式、變量模式、構造器模式、序列模式、元組模式以及變量綁定模式等。 常量模式匹配 常量模式匹配,就是在模式匹配中匹配常量 ...