我想使用condp子句但我不知道如何捕获任何不匹配的子句。我该怎么做?
(defn subst[id value W-lang]
(let [[type expr][(first W-lang)(rest W-lang)]]
(condp = type
'num (first expr)
'add expr
***** expr)))
答案 0 :(得分:18)
单个默认表达式可以跟在子句之后,如果没有子句匹配,则返回其值。如果未提供默认表达式且没有子句匹配,则抛出IllegalArgumentException。
所以:
(condp = type
'num (first expr)
'add expr
expr)))