获取 clojure 函数的代码

2024-01-23

clojure 有没有办法在函数加载后获取函数的代码?

IE。不做类似[未经测试]的事情

(defmacro blat [x] `(do (def code ~(quote (mexpand-all x)))
                        ~x)))
(blat (defn func [abc] (...)))

您可以使用以下命令获取符号的来源clojure.repl/source功能。但是,只有当符号解析为的 var 位于类路径上的 .clj 文件中时,这才有效。例如,您不能这样做:

user=> (defn foo [x] x)
#'user/foo
user=> (require 'clojure.repl)
nil
user=> (clojure.repl/source foo)
Source not found
nil
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取 clojure 函数的代码 的相关文章

  • 如何在 Clojure 中链接 Promise

    在 Scala 中 您可以使用map and flatMap在未来的成功结果上运行函数 val x Future Int val y Future String x map toString 有没有比以下更好的 Clojure 类似物 de
  • 在 Clojure 和其他 Lisp 方言中,在函数名称末尾使用星号的约定是什么?

    请注意 我不是在谈论符号名称中的耳罩 这个问题在Clojure 常量的约定 样式和用法 https stackoverflow com questions 3579063 conventions style and usage for cl
  • 将数据库与 Clojure 结合使用

    有哪些使用 Clojure 数据库的方法 我从 Clojure 知道你可以用 Java 做任何事情 但这意味着我最终可能会使用一些过于复杂的东西 比如 Hibernate 这与 Clojure 的简单性相冲突 有什么建议或意见吗 Cloju
  • Clojure:无法找到静态字段

    给出以下代码 map Integer parseInt 1 2 3 4 为什么除非我换行 否则会出现以下异常Integer parseInt在匿名函数中并手动调用它 Integer parseInt clojure lang Compile
  • Clojure 符号名称中的美元符号 ($)

    我一直在编写 clojure 解析器并遇到以下语法 defn key Returns the key of the map entry added 1 0 static true java util Map Entry e e getKey
  • 如何使用 Clojure 在命令行中更改目录?

    我正在寻找的是 Windows 命令行中的这种命令行交互 C temp1 gt clj some script clj C temp2 gt 其中 some script clj 包含类似以下内容 cd c temp2 那么问题来了 如何实
  • Clojure 中没有整数溢出?

    我在阅读时在 IntelliJ IDEA 中运行 Clojure 1 3 0 和 La ClojureClojure 的乐趣 在第 4 1 3 节 第 64 页 中 作者使用以下代码演示了整数溢出 Integer MAX VALUE Int
  • Java 中 .NET 的 Lambda 表达式

    我最近 再次 从 C 迁移到 Java 但我非常怀念 lambda 表达式和 C 的 IEnumerable Foreach 之类的东西 所以我正在寻找Java中的lambda表达式库 有比这更好的图书馆吗LambdaJ http code
  • 如何在 RHEL 6.1 / JDK7 上安装 Clojure 1.3 with contribs?

    我一直在努力让它发挥作用 获取 clojure 1 3 是一件轻而易举的事 但现在我一直在尝试安装 contrib 库 但遇到了错误 有关于如何正确执行此操作的指南吗 旧的 clojure contrib 整体库与 clojure 1 3
  • Clojure 中的快速素数生成

    我一直在努力解决欧拉计划 https projecteuler netClojure 中的问题得到了改善 我已经遇到过几次素数生成问题 我的问题是它花费的时间太长了 我希望有人能帮助我找到一种有效的方法 以 Clojure 的方式做到这一点
  • 使用 swank-clojure 攻击 Clojure 库的工作流程

    Clojure 库的黑客攻击有典型的工作流程吗 假设我的应用程序 Foo 依赖于第三方库 Bar 该库是从存储库获取的 并通过以下方式包含在项目 Foo 中lein deps 然后 假设我想破解 Bar 库 所以我从 github 克隆它
  • 在 Android 上运行 Java 字节码 - DalvikVM 之上的 Sun JVM

    由于 java 实现 OpenJDK 和Android的虚拟机DalvikVM是开源的 因此必须可以在Google的DalvikVM之上实现Sun的JavaVM 这将使运行基于 JVM 的应用程序和语言成为可能 Clojure Jython
  • 如何在 Clojure 中创建循环(且不可变)数据结构而不需要额外的间接?

    我需要在 Clojure 中表示有向图 我想将图中的每个节点表示为一个对象 可能是一条记录 其中包含一个名为 edges这是从当前节点直接可达的节点的集合 希望这是不言而喻的 但我希望这些图表是不可变的 我可以构造有向acyclic只要我进
  • 在 Clojure 中的函数上使用“apply”时,如何显式指定名称空间?

    这里的 graph 是高阶函数 它返回一个在其范围内设置了配置的函数 ns bulbs neo4jserver graph defn out1 Test func that simply returns out1 config out1 d
  • 惰性序列内部究竟如何工作

    我是 clojure 的新手 不清楚惰性序列在内部是如何工作的 或者更具体地说 返回惰性序列的函数意味着只有在需要时才会计算结果 例如在下面的例子中 defn fc lazy fn xs lazy seq if let xss seq xs
  • Clojure:对于 n 维

    Clojure 中的函数for可用于迭代嵌套序列 想象一个具有 x y 和 z 轴的 3D 空间 for x range 10 y range 5 z range 2 x y z 上面的代码将生成一个向量序列 表示长方体内所有可能的位置 当
  • 如何将 clojure Web 应用程序部署到 Amazon EC2(AWS Elastic Beanstalk + Leiningen + Compojure + Ring + Tomcat)

    如题 我的IDE是intellij idea 12 1 4 我需要什么工具包或插件才能 将 Clojure Web 应用程序部署到 Amazon EC2 有任何链接或参考或分步解决方案吗 谢谢 如果您只是部署一个 war 文件 没有其他自定
  • 为什么 CouchDB 使用仅追加 B+ 树而不是 HAMT

    我正在阅读数据结构 尤其是不可变的数据结构 例如仅追加 B 树 http guide couchdb org draft btree html用于 CouchDB 和哈希数组映射 trie http en wikipedia org wik
  • 我应该如何使 Clojure STM 程序持久化?

    我正在编写一个使用 STM 的 clojure 程序 目前 我在启动时从数据库填充 STM 使用引用 然后在 dosync 事务成功时异步更新数据库 我不知道我是否以正确的方式这样做 或者是否有更好的标准技术来做到这一点 谁能向我解释一下他
  • 与 google guice 相当的 clojure 是什么?

    我遇到了 google guice 但无法真正理解它以及它的作用 尽管它周围似乎有很多炒作 我希望从 clojure 的角度了解该库 以及为什么在 clojure 应用程序中需要 不需要它 以及该语言中是否内置了类似的内容 由于 Java

随机推荐