我有一个多重方法:
(defmulti foo type)
(defmethod foo clojure.lang.Keyword [k] (name k))我想知道这样的事情是否可能:
(valid-dispatch? foo clojure.lang.Keyword)
;;=> true发布于 2014-01-17 08:46:46
如果您想知道是否有一种方法精确地用于给定的分派值:
(contains? (methods foo) clojure.lang.Keyword)如果您想知道是否有一个方法匹配给定的分派值(考虑到multimethod使用的层次结构):
(get-method foo clojure.lang.Keyword)后者返回实际方法(如果可用的话),否则返回nil。
https://stackoverflow.com/questions/21181213
复制相似问题