gpt4 book ai didi

clojure - Clojure中的模式匹配功能?

转载 作者:行者123 更新时间:2023-12-03 09:18:12 24 4
gpt4 key购买 nike

我过去使用过erlang,它具有一些非常有用的功能,例如模式匹配功能或“功能保护器”。来自erlang docs的示例是:

fact(N) when N>0 -> 
N * fact(N-1);
fact(0) ->
1.

但这可以扩展为一个更复杂的示例,其中参数的形式与其中的值匹配。

Clojure中有类似的东西吗?

最佳答案

在core.match(https://github.com/clojure/core.match)库中,正在为实现这一目标而努力。

取决于您要执行的操作,另一种常见方法是使用defmulti / defmethod调度任意函数。请参阅http://clojuredocs.org/clojure_core/clojure.core/defmulti(该页面底部的阶乘示例)

关于clojure - Clojure中的模式匹配功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8596980/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com