我正在学习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将尝试查找 如果当前缓冲区中的任何源块定义了此函数。
我愿意接受任何其他建议来解决这个问题,只要 该解决方案允许我有效地存储代码示例 整本书都在一个组织文件中。