天天看點

話說模式比對(7) 一個構造器模式的例子(by case class)

scala裡的list是個典型的很适用模式比對的結構,它的接口和資料定義非常凝練。現在我們假設需要一個與list結構正好相反的結構mylist。

list由2部分組成,[head, tail],其中的head是元素本身,而tail則是list類型,也就是一種遞歸結構。

mylist也由2部分組成 [init, last],其中last是元素本身,而init則是mylist類型。(與list正好颠倒)

構造一下看看:

為了友善構造,還可以給mylist添加一個工廠方法:

eg: