首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谓词函数在core.match中的调度

谓词函数在core.match中的调度
EN

Stack Overflow用户
提问于 2013-12-26 04:50:37
回答 1查看 377关注 0票数 2

我刚刚开始深入研究core.match (顺便说一句,这是一个很棒的库),我希望能够扩展match来对任意谓词函数进行调度。不幸的是,这看起来是不可能的,因为编译器无法在宏展开时判断函数是否是函数。

这是正确的吗?如果是这样(如果不是),是否有一种方法可以对其进行黑客攻击,以便我可以在match表达式中使用如下所示的函数?

例如:

代码语言:javascript
复制
(match [7]
    [1] :a0
    ["green"] :a1
    [prime?] :a2
    [number?] :a3)

我知道通过多个方法扩展接口,这对于使用set文本来匹配集合中的容器非常有效。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-26 05:28:33

似乎您想要使用:guard特性,http://github.com/clojure/core.match/wiki/Overview#guards

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20779299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档