Emacs org-babel自动加载?

时间:2013-09-27 13:09:56

标签: emacs clojure org-mode literate-programming

我正在学习Clojure,我正在评估本书中的示例代码 在begin_src / end_src块中。工作得很好,因为组织增加了结构 否则不相关的代码片段。

当这些部分变得相关时,问题就开始了,即样本代码 关于代理的章节使用为refs两章定义的函数。 因此,在尝试从新的nrepl会话中评估最后一个块时, 抛出undefined function错误。然后我必须找到块 实际定义相关功能并对其进行评估的地方。 如果它不依赖于其他任何东西我很幸运。

一种解决方案可能是按顺序重新评估所有源块。 这肯定会奏效,但会评估大量的块 不必要的,因为它们不属于块的依赖关系 我其实想要评估。

我想也许某种机制类似于自动加载 可以实施,例如:

#+begin_src clojure :defines square
(defn square [x]
  (* x x))
#+end_src

所以当我评估这个块时:

#+begin_src clojure
(square 5)
#+end_src

和“无法解析符号:方形”出现,org将尝试查找 如果当前缓冲区中的任何源块定义了此函数。

我愿意接受任何其他建议来解决这个问题,只要 该解决方案允许我有效地存储代码示例 整本书都在一个组织文件中。

0 个答案:

没有答案