Clojure编程:模式匹配与并发机制解析
模式匹配中的默认选项
在模式匹配的应用中, :default 选项是一个重要的机制。下面通过一个示例来展示其工作原理:
(defmulti foo :some-key)
(defmethod foo :a [this] (prn "A"))
(defmethod foo :default [this]
(prn (str "Sorry, no idea what to do with '" (:some-key this) "' ?")))
(foo {:some-key :a}) ;; "A"
(foo {:some-key :d}) ;; "Sorry, no idea what to do with ':d' ?"
在上述代码中,我们定义了一个新的 foo 类型。当没有其他匹配项时, :default 选项会被匹配。例如,我们没有为 :d 定义 defmethod ,所以当传入 {:some-key :d} 时,会触发 :default 方法。
并发机制概述
Clojure 作为一种函数式语言,其并发机制是一大卖点。在理解并发之前,我们需要了解其相关的问题空间以及程序并发运行任务的含义。
计算机进程可以产生多个“线程”,每个线程能执行自己独特的任务集,且与其他线程的任务相互独立
超级会员免费看
订阅专栏 解锁全文
42

被折叠的 条评论
为什么被折叠?



