我正在使用condp表单,并在其文档中注意到:

如果没有提供默认表达式并且没有子句匹配,则抛出IllegalArgumentException。

我不需要处理不匹配的内容,也不想用try形式包围condp。我正在考虑在此处放置一个占位符。最快和最简单的Clojure占位符形式是什么?

编辑:

感谢大家的意见,非常有帮助!此行为的用例是,在用户触发的强制数据恢复任务中,我的应用程序需要动态解析Clojure代码以从日志文件中恢复数据。损坏的数据(不匹配项)将被忽略,如果用cond写入相同的格式,将比condp花费更多的按键。

最佳答案

你可以说:

(condp = option
  :foo 1
  :bar 2
  3)

07-24 13:29