Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
找不到Clojure函数的源_Clojure - Fatal编程技术网

找不到Clojure函数的源

找不到Clojure函数的源,clojure,Clojure,我不是Clojure程序员,但我的任务是将我们架构的核心部分从当前的Clojure重写到Node。如果您喜欢Clojure,并且想知道为什么,我们在任何地方都找不到Clojure开发人员,而且JavaScript非常通用(至少能够阅读它的部分)。该组件本身很小,也很简单,但Clojure专业知识的缺乏目前确实让我们望而却步 我理解大部分代码,但是我遇到了一个名为的函数。跟踪类似的事情的方法是这样的(假设这是一个 常规源文件,我们这里说的是常规Clojure) 因此,如果您的编辑器或IDE没有帮助

我不是Clojure程序员,但我的任务是将我们架构的核心部分从当前的Clojure重写到Node。如果您喜欢Clojure,并且想知道为什么,我们在任何地方都找不到Clojure开发人员,而且JavaScript非常通用(至少能够阅读它的部分)。该组件本身很小,也很简单,但Clojure专业知识的缺乏目前确实让我们望而却步


我理解大部分代码,但是我遇到了一个名为
的函数。跟踪类似的事情的方法是这样的(假设这是一个
常规源文件,我们这里说的是常规Clojure)


因此,如果您的编辑器或IDE没有帮助,但是您已经在REPL中加载了代码,那么您可以执行
(source)这样的跟踪方式,如下所示(假设这是一个
常规源文件,我们这里说的是常规Clojure)


因此,如果您的编辑器或IDE没有帮助,但您在REPL中加载了该代码,那么您可以执行
(source,尽管您的问题已经得到了回答,但这里有一个很好的提示。每次您看到没有命名空间的函数调用时(例如,只
(foo)
,而不是
(namespace/foo)
),这意味着函数是通过以下三种方式之一注入的:

  • 通过
    :在
    ns
    宏中使用
    ,例如
    (:使用一些.package)
  • 通过
    :在
    ns
    中使用显式
    引用
    (:require[some.package:refere[foo]])
  • 通过
    :require
    引用包内的所有内容:
    (:require[some.package:refere:all])

  • 因此,您应该检查放在文件顶部的
    ns
    宏。但是更好的方法是使用emacs+cider并按
    M-。
    转到符号定义,或者至少是具有相同功能的某个IDE。

    尽管您的问题已经得到了回答,但有一个很好的提示。每次您看到函数c所有函数都没有名称空间(例如,只有
    (foo)
    ,但没有
    (namespace/foo)
    ),这意味着函数是通过以下三种方式之一注入的:

  • 通过
    :在
    ns
    宏中使用
    ,例如
    (:使用一些.package)
  • 通过
    :在
    ns
    中使用显式
    引用
    (:require[some.package:refere[foo]])
  • 通过
    :require
    引用包内的所有内容:
    (:require[some.package:refere:all])

  • 因此,您应该检查放在文件顶部的
    ns
    宏。但是更好的方法是使用emacs+cider并按
    M-。
    转到符号定义,或者至少使用具有相同功能的某个IDE。

    该文件的
    require
    use
    应该使其变得明显(或者在
    使用
    的情况下,使用
    使选择更小)。如果这没有帮助,它要么是在同一个文件中预先定义的,要么是来自core(它不是)。在REPL中,您也可以执行
    (源代码,我猜它类似于
    (fn啊,我找到了
    [fletting.macros:reference:all]
    在我的require中,github有它的API。如果您添加作为答案,我将根据我所知道的内容(从作业讨论组和远程作业组)对其进行标记有多余的Clojure开发者愿意远程工作。这与“任何地方都找不到Clojure开发者”相矛盾。@ChrisMurphy我不是老板,在Clojure领域,我也没有权力决定雇佣谁或不雇佣谁(你可能从我的问题中可以看出原因).这就是我被告知的问题所在。如果你要愤世嫉俗,你可以说这是因为Clojure开发人员更昂贵,我们没有很多Clojure代码,所以他们不需要另一个全职程序员是有道理的。该文件的
    require
    use
    应该很明显(或者在
    使用
    的情况下,使用
    使选择更小)。如果这没有帮助,它要么是在同一个文件中预先定义的,要么是来自core(它不是)。在REPL中,您也可以执行
    (源代码,我猜它类似于
    (fn啊,我找到了
    [fletting.macros:reference:all]
    在我的require中,github有它的API。如果您添加作为答案,我将根据我所知道的内容(从作业讨论组和远程作业组)对其进行标记有多余的Clojure开发者愿意远程工作。这与“任何地方都找不到Clojure开发者”相矛盾。@ChrisMurphy我不是老板,在Clojure领域,我也没有权力决定雇佣谁或不雇佣谁(你可能从我的问题中可以看出原因).这就是我被告知的问题所在。如果你是愤世嫉俗的,你可以说这是因为Clojure开发人员更昂贵,我们没有很多Clojure代码,所以他们不需要另一个全职程序员是有道理的。非常感谢。我的案例是第3个,我找不到关于实际文本
    的参考资料非常感谢。我的案例是3号,我找不到实际文本的参考资料
    
    
    (comp (<fn plan/enqueue nil handle-internal-event)
          (<fn doto mt/confirm!)
          sanitize-object)
    
    (:require [fletching.macros :refer :all])