如果那么在clojure

use*_*597 4 clojure

我创造了3个功能.每个都连接到数据库,运行查询并显示结果.从根本上说,他们一切都很好.但是我希望用户决定运行3+的哪个报告,为此他们将选择一个参数并点击执行按钮.如何在Clojure中编写嵌套来决定执行哪些函数?

如果param ="reporta"执行functiona else,如果param ="reportb"执行functionb else等等

我在网上搜索过但无法找到我想要做的好例子......任何建议都非常感激.

Dav*_*Ray 11

使用condcondp:

(condp = param
  "reporta"    (functiona)
  "reportb"    (functionb)
  (function-else))   
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用函数映射,只需使用param索引.

  • 在这种情况下,您也可以使用`case`,因为比较的东西是文字. (7认同)