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