如何在org-babel的评估(导出)源块中导入/扩展noweb refs?

Eri*_*son 4 emacs literate-programming org-mode org-babel reproducible-research

我正在尝试做这样的事情:

* Define some functions
#+begin_src python :noweb_ref defs
   def f1(a,b,c):
     return True
   def f2(d,e,f):
     return False
#+end_src

* Use them in a results-exported block later
#+begin_src python :results output :exports both :tangle yes
<<defs>>
print "test results:"
print f1(1,2,3)
#end_src
Run Code Online (Sandbox Code Playgroud)

我想要发生的是,当评估块以产生导出输出时,<< defs >>将被扩展为纠结样式.实际发生的是<< defs >>按字面意思进行评估并导致语法错误.

当这样的拼接块输出到输出文件时,一切都运行得很好,但是当我导出缓冲区时,我无法弄清楚如何做同样的事情.

建议?

fni*_*sen 5

我不确定真的明白你的意思......但是

1)你错过了一个noweb:yes标题参数

2)你可以<<func()>>用来插入评估func 的结果(而不是func的代码) - 这就是我不确定你真正想要的东西.