org-mode - org 模式将 NAME 赋予时钟表以使用 perl 解析
问题描述
我尝试为时钟表命名:
#+BEGIN: clocktable :scope file :maxlevel 2
#+NAME: d1
#+CAPTION: Clock summary at [2020-04-21 mar. 14:31]
| Headline | Time |
|--------------+--------|
| *Total time* | *0:15* |
|--------------+--------|
| t1 | 0:05 |
| t2 | 0:10 |
#+END:
* t1
CLOCK: [2020-04-21 mar. 14:10]--[2020-04-21 mar. 14:16] => 0:05
* t2
CLOCK: [2020-04-21 mar. 14:20]--[2020-04-21 mar. 14:30] => 0:10
要在 perl src 块中使用它:
* code
#+NAME: t1
#+begin_src perl :var d=d1
$d;
#+end_src
#+RESULTS: t1
| Headline | Time |
| *Total time* | *0:16* |
| t1 | 0:06 |
| t2 | 0:10 |
但是当我更新时钟表时,#+NAME: d1消失了。如果我把它放在#+BEGIN 行之前,perl 块找不到引用。
解决方案
您可以通过像这样传递标头来设置块 #+NAME
内:BEGIN
:header
#+BEGIN: clocktable :scope file :maxlevel 2 :header "#+NAME: d1\n"
并且应该使用你所拥有的。
推荐阅读
- angular - 从后端到前端获取价值
- reactjs - React useQuery 将数据传递给子组件而不重新渲染
- react-native - 从 asp.net core 3 获取令牌
- mongodb - Mongodb从“时间戳”字段中选择带有“日期”的查询
- node.js - 如何从 npx 命令捕获参数?
- r - 如何制作renderLeaflet的管道处理函数
- r - Tidygraph:获取沿最短路径的节点序列
- html - 水平滚动(暂停)轮播
- c++ - 为什么在 std::string 中使用自定义分配器时没有调用 allocate() 和 deallocate()?
- angular - AWS Lambda + Angular Web 应用程序抛出“错误:找不到模块'@vendia/serverless-express'”