Grey
全部学习内容汇总: https://github.com/greyzhang/g_org
1849_emacs_org-mode提取源代码
代码提取是从 org-mode 的org文件中提取生成我们所需要的代码的过程,这里结合官方的文档来看看还有什么细节的配置信息。
主题由来介绍
文学式编程其实是把直接写代码转换成了写文学式的篇章,在这个文学式篇章之中,插入我们设计中的代码碎片。这样,我们的思维模式会回到一个人类思维的模式。然而,当我们做完自己的设计之后,最终参与运行的还是得用代码,这样就需要有一个代码提取的过程。
材料信息
这一次参考的主要还是官方的文档,链接: Extracting Source Code (The Org Manual)
要点细节分析
- 代码的提取是文学式编程里面的一个基本的任务。
- org-mode 在代码提取的方面,提供了文件分离等比较细节的功能支持。
- 在代码提取方面,可以控制代码是否提取以及指定提取的文件。
- 同时,可以通过头部的 mkdirp 参数来控制实现将代码生成到指定的目录中,如果目录不存在则进行创建。
- 这部分比较值得注意的是注释的生成其实是可以实现追踪功能的,这样可以根据编译等错误直接回溯到文档部分。
- 类似的功能其实可以让人想到MATLAB的处理效果,simulink的代码生成其实就可以实现追踪效果。
- 这一个功能我觉得其实是锦上添花的功能,如果没有这样的功能支持,单纯靠控制代码块也是很容易实现不错的提取后代码排版分离效果的。
- 如果生成代码带有#!, tangle的过程可以实现文件的执行属性的处理。
- 即使是没有这部分指定,也有明确的属性指定方式。当然,这种其实是针对unix比较合适的。
- 如果配置了link功能,那么其实是可以根据调试的结果直接追踪到org文件中的原始部分的。
小结
其实,针对简单的文学式编程支持,只需要掌握很少的一部分功能就能够支持。而emacs的org-mode功能,很多的扩充是针对可重现研究的。从这个工具的功能实现角度来考虑,其实工具的设计难点也的确是这部分会难一些。