我想使用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文档中找不到的核心信息。
答案 0 :(得分:0)
尝试:
#+CALL: foo()
另外,检查变量org-babel-library-of-babel
的值以确保C-c C-v i正常工作。