组织模式的巴贝尔库:不能#'调用我定义的内容

时间:2016-05-26 20:33:09

标签: clojure org-mode

我想使用org-mode的babel库来定义一个可以被任何组织模式文档访问的新Clojure函数。

我所做的是在命名代码块中定义这个新函数,如下所示:

#+NAME: foo
#+BEGIN_SRC clojure
  (defn foofn
    []
    (println "foo test")) 
#+END_SRC

然后我使用C-c C-v i将其保存到我的bable库中,然后我选择了org文件保存到库中,一切看起来都很好。

然后在另一个组织文件中,我想调用该块,使其在其他上下文中定义。所以我使用了以下语法:

#+CALL: foo

然而,当我执行该org文件时,我收到以下错误:

Reference `nil' not found in this buffer

告诉我它无法找到那个命名块。

知道我做错了什么吗?一旦它工作,有没有办法在使用#+CALL:调用时向该代码块添加新参数?

最后,应该在哪里找到我的巴贝尔图书馆? (如何知道它是否被正确添加?)

我显然遗漏了一些我在worg文档中找不到的核心信息。

1 个答案:

答案 0 :(得分:0)

尝试:

#+CALL: foo()

另外,检查变量org-babel-library-of-babel的值以确保C-c C-v i正常工作。