- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我看过 David Nolen 关于 ClojureScript 的演讲,他在演讲中将 IFn 扩展到 Regexp,这样我们就可以将正则表达式文字作为字符串上的函数来调用以检查匹配。
我在常规 Clojure 中尝试了与字符串类似的操作,但我得到了这个异常。我看到 IFn 是一个用 Java 编写的接口(interface),但在 CLojrue 前端的实现是如何工作的。
(extend-type java.lang.String
#_=> clojure.lang.IFn
#_=> (-invoke
#_=> ([this index]
#_=> (get (seq this) index))))
IllegalArgumentException interface clojure.lang.IFn is not a protocol clojure.core/extend (core_deftype.clj:742)
最佳答案
异常应该给你一个提示。 IFn
不是 Clojure 中的协议(protocol)。它在 ClojureScript 中。您可以扩展
协议(protocol)、实现 Java 接口(interface)和子类。在这种特殊情况下,您甚至不能将 java.lang.String 子类化,因为它被声明为 final。
关于java - 为什么我不能使用扩展类型扩展 Clojure 的 IFn?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24975100/
我在这里遇到了可怕的 * 无法使用简单的数学函数将其转换为 IFn 错误: (defn calc [sc1 m1 alpha beta gamma ta1 tb1 min_m1 min_tca tca
map 似乎两者兼而有之 ({:a 1} :a) (因为它是一个 IFn)和 (:a {:a 1}) 因为它是一个 ILookup。此外,RT/getFrom 允许以类似的方式通过索引查找字符串和数组
假设我有一个“类似函数”的记录,至少在它代表可以应用于某些参数的操作的意义上。 我可以通过实现 clojure.lang.IFn 使其作为函数工作,例如: (defrecord Func [f x]
对于 Ludum Dare 36,我决定在 coljure 中尝试基于文本的冒险游戏。它有效,但我收到一个非 fatal error : Exception in thread "main" java
我看过 David Nolen 关于 ClojureScript 的演讲,他在演讲中将 IFn 扩展到 Regexp,这样我们就可以将正则表达式文字作为字符串上的函数来调用以检查匹配。 我在常规 Cl
我刚刚通读了 Java bytecode instruction listings并想知道: Java字节码中的ifne和ifnonnull有什么区别? 我知道在高级语言(例如 Java)中,值 0
在 Clojure 的 Java 源代码中,我看到: import clojure.lang.RT; import clojure.lang.IFn; RT 似乎代表“运行时”(虽然答案中没有给出官方
[TL;DR:以下 JVM 字节码指令似乎不起作用: iconst_0 istore 6 ...sequential iinc 6 1 jsr L42 ... ; L42 iload 6 ifeq L
我希望能够在正则表达式上调用 map,如下所示: (map #"ab+c*" ["abbb" "ac" "abbcc"]) => ("abbb" "abbcc") 如何扩展正则表达式以支持 IFn 接
我无法理解 IFn 和 fn 之间的区别。 你能举个例子吗? 请提供这些函数之间的差异: (fn? x) (ifn? x) 他们的行为是一样的。 最佳答案 Clojure 文档非常清楚地描述了差异:
我是 Riemann 和 Clojure 的新手。我想要做的就是在某些服务的 TTL 到期时向三个电子邮件组发送电子邮件通知。 我创建了某种配置文件,用于存储电子邮件列表: { :email_gr
我只是想设置名为 test 的 cookie 的值。 example: http://www.luminusweb.net/docs/sessions_cookies.md 我的代码: (GE
我有一个函数,它需要年数和薪水,然后递归地将薪水加倍,直到年数用完。但是,我不断收到此错误: ClassCastException java.lang.Long cannot be cast to c
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我有一些处理列表的函数。我有一个偶数函数,它接受一个列表参数并获取列表的偶数索引。奇函数做同样的事情,但使用奇数索引。我还有另一个函数,它合并两个排序列表,称为 merge-list,它将两个列表作为
我只是想用 Clojure 写一个简单的小猜谜游戏,我得到了这个错误。我看不到我的 Character 在哪里被视为函数,因为结果输入也预测不应该存在这样的问题。这是代码: (ns clojure.e
这个问题在这里已经有了答案: ClassCastException java.lang.Long cannot be cast to clojure.lang.IFn (4 个答案) 关闭 6 年前
我试图将从映射操作返回的(惰性)序列传递给另一个映射操作,以便我可以在第一个序列中查找元素。代码从文本文件(以行/列格式)解析一些足球装置,清理它,然后返回一张 map 。 这是代码: (ns fix
各位,我有以下函数,但运行时出现 java.lang.ClassCastException: java.lang.Boolean 无法转换为 clojure.lang.IFn"错误。关于如何修复它有什
所以,在我的 core.clj 文件中,我有: (def page-buffer (BufferedReader. (InputStreamReader. (clojure.java.io/input
我是一名优秀的程序员,十分优秀!