【发布时间】:2015-03-17 09:37:04
【问题描述】:
当我在一个程序中有 3 个函数时,我如何检查特定的函数名称? 为了功能选择,我想知道这些功能的名称。
比如说线性核函数、逻辑核函数和非负函数,当我调用程序时,会调用其中一个函数,我应该检查它是线性函数、逻辑函数还是非负函数,所以我可以执行与所选功能相关的另一个功能。
我认为进行功能选择可以节省我重复基本代码的时间。但是做函数选择可能不是我可以在 Clojure 中使用的最佳设计。
仅供参考,在这个级别,我已经使用“meta”关键字来访问函数名,但是当我创建时
(defn isKernel [krn]
(if (= (str (:name (meta #'krn))) "logistic-kernel") 1 0))
编译器无法解析“krn”变量
【问题讨论】:
-
为什么不直接做
(= krn logistic-kernel)?
标签: function design-patterns clojure code-reuse