如果在clojure做什么

如果在clojure做什么,clojure,Clojure,我已经创建了3个函数。每个连接到数据库,运行查询并显示结果。独立运行它们都工作得很好。但是,我希望用户决定运行哪个3+报告,为此,他们将选择一个参数并点击执行按钮。如何在Clojure中编写嵌套的if-then-do来决定执行哪些函数 如果param=“reporta” 执行函数 否则,如果param=“reportb” 执行函数B 其他的 等 等 我已经在网上搜索过了,但是找不到一个很好的例子来说明我想做什么。。。非常感谢任何建议。使用cond或: 或者,您可以使用函数映射,只需按参数进行索引

我已经创建了3个函数。每个连接到数据库,运行查询并显示结果。独立运行它们都工作得很好。但是,我希望用户决定运行哪个3+报告,为此,他们将选择一个参数并点击执行按钮。如何在Clojure中编写嵌套的if-then-do来决定执行哪些函数

如果param=“reporta” 执行函数 否则,如果param=“reportb” 执行函数B 其他的 等 等

我已经在网上搜索过了,但是找不到一个很好的例子来说明我想做什么。。。非常感谢任何建议。

使用
cond
或:


或者,您可以使用函数映射,只需按参数进行索引。

您可以使用
case
解决您的问题:

(case param
  "reporta" (do-something-a)
  "reportb" (do-something-b)
  (else-case))

在这种情况下,您也可以使用
case
,因为比较的是文字。我总是忘记
case
。它背叛了我一次(类不是文字),所以我再也没有回去:)
(case param
  "reporta" (do-something-a)
  "reportb" (do-something-b)
  (else-case))