Scala的模式匹配
最近开始学习Scala,相较于学习Haskell的过程来看,Scala真是直观得多,友好得多,更容易上手。以前写过关于从熟悉的Java和JavaScript来逐步学习Groovy和Haskell的文章,这以后再来学习Scala的话,就可以不断比较了。
共 3 篇相关文章
最近开始学习Scala,相较于学习Haskell的过程来看,Scala真是直观得多,友好得多,更容易上手。以前写过关于从熟悉的Java和JavaScript来逐步学习Groovy和Haskell的文章,这以后再来学习Scala的话,就可以不断比较了。
在上一篇文章里,我们完成了 Dispatcher 类的接口设计,现在我们就来考虑一下如何实现这个类。Notify & Capture要实现 notify 和 capture 就太容易了,我们只需要把 capture 传入的 handler 都保存下来,然后在 notify 里面找到匹配的 handler 就可以了。
在《从 if else 到 switch case 再到抽象》这篇文章里面说到,解决 if else 和 switch case 分支过多的一个方法,就是做一个专用的 dispatcher ,让它来负责进行筛选与转发。至于筛选条件的描述,模式匹配是一种很常见也很好用的方式。在 JavaScript 里面,用 JSON 来描述模式又是相当方便的事情,所以我们来做一个 JSON 模式匹配工具吧。