假设我定义了这些属性:
:PROPERTIES:
:a: 1
:b: 2
:END:
Run Code Online (Sandbox Code Playgroud)
如何定义属性 c ,使其值是 property 的值a和 property 的值之和b?我已经尝试过:c: (+ a b),但 c 的值只是 string "(+ a b)"。
是否可以以这种方式定义属性,或者我是否必须有一个随后被评估的代码块?(例如使用属性 API)
小智 1
您可以使用Property API定义在导出时执行的代码块:
* Code
#+NAME: PropertyCalculator
#+BEGIN_SRC emacs-lisp
(let* ( (rootval (string-to-number (org-entry-get nil "root")))
(squareval (number-to-string (* rootval rootval))) )
(org-entry-put nil "square" squareval)
)
#+END_SRC
* Content
** Property Data
:PROPERTIES:
:root: 2
:square: 5
:END:
#+CALL: PropertyCalculator()
Run Code Online (Sandbox Code Playgroud)
这会将任何现有条目保留在缓冲区中,但会在导出时覆盖。
您还可以使用 (org-babel-load-file) 更正缓冲区内。
| 归档时间: |
|
| 查看次数: |
598 次 |
| 最近记录: |