我创造了3个功能。每个都连接到数据库,运行查询并显示结果。从根本上说,他们一切都很好。但是我希望用户决定运行3+的哪个报告,为此他们将选择一个参数并点击执行按钮。如何在Clojure中编写嵌套来决定执行哪些函数?
如果param =“reporta” 执行功能 否则,如果param =“reportb” 执行functionb 别的等等 等等 等
我在网上搜索过但无法找到我想要做的好例子......任何建议都非常感激。
答案 0 :(得分:11)
使用cond
或condp:
(condp = param
"reporta" (functiona)
"reportb" (functionb)
(function-else))
或者,您可以使用函数映射,只使用参数索引。
答案 1 :(得分:3)
您可以使用case
解决问题:
(case param
"reporta" (do-something-a)
"reportb" (do-something-b)
(else-case))