Clojure core.match在课堂上无法匹配

凯尔文

当逃避这个超级简单的core.match表达式时,我得到:

(match [(class "3.14")]
       [Integer] "Integer"
       [Double] "Doubler")
; => "Integer"

这怎么正确?我是否缺少有关core.match的基本知识?在这种形式上做一个macroexpand-1给我:

=> (clojure.core/let [ocr-2751 (class "3.14")] (clojure.core/let [Integer ocr-2751] "Integer"))

任何指针表示赞赏。

贝亚莫尔

就像@Arthur所说的那样,通常core.match会将值绑定到符号上。但是,显然,它首先尝试与本地人匹配谁知道?

无论如何,let在匹配之前将类绑定为locals即可,您可以开始:

(let [Integer java.lang.Integer
      String  java.lang.String]
  (match [(class "3.14")]
         [Integer] "Integer"
         [String] "String"))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

clojure.core / map无法正常工作

来自分类Dev

无法在类路径上找到clojure / core / async__init.class或clojure / core / async.clj

来自分类Dev

在 clojure 中,为什么 core.match 向量内的地图?

来自分类Dev

clojure:with-redefs无法与clojure.core函数一起使用吗?

来自分类Dev

clojure:with-redefs无法与clojure.core函数一起使用吗?

来自分类Dev

无法在类路径上找到apply /clojure/core/vector__init.class或apply / clojure / core / vector.clj

来自分类Dev

Clojure core.async and Lamina

来自分类Dev

无法在课堂上定义方法

来自分类Dev

使用core.match将Clojure中解析的xml内容展平

来自分类Dev

clojure core.async线程块

来自分类Dev

Clojure core.async,通道与端口

来自分类Dev

扩展clojure core.async的功能

来自分类Dev

Clojure core.async和Lamina

来自分类Dev

clojure core.async通道如何清理?

来自分类Dev

clojure core.async thread blocks

来自分类Dev

Clojure core.async放了!与去块

来自分类Dev

简单的Prolog到Clojure core.logic

来自分类Dev

Clojure core.logic:Nafc和Ground

来自分类Dev

clojure core.async线程块

来自分类Dev

clojure defn模式匹配

来自分类Dev

clojure defn模式匹配

来自分类Dev

Clojure core.async和clojure.core命名空间元素似乎发生冲突

来自分类Dev

Clojure core.async和clojure.core命名空间元素似乎发生冲突

来自分类Dev

从课堂上获得的价值无法实现?

来自分类Dev

无法在课堂上使用此函数调用

来自分类Dev

无法记录流利的Clojure

来自分类Dev

Clojure - 找不到匹配的方法

来自分类Dev

Clojure可以在Clojure中使用ClojureScript的core.async实现吗?

来自分类Dev

集合中的clojure core.logic计数元素

Related 相关文章

热门标签

归档