У меня есть org-mode
файл, содержащий таблицу данных и два блока кода Python для извлечения различных сводок из него.
Я хотел бы поделиться некоторыми общими константами и функциями между этими двумя блоками кода. В идеале я бы сделал это, выделив общий код в отдельный кодовый блок, который будет автоматически включаться и оцениваться всякий раз, когда оценивается любой из двух других блоков. В вымышленном синтаксисе это будет выглядеть примерно так:
#+NAME: init_block
#+BEGIN_SRC python
... common constants and functions here ...
#+END_SRC
#+NAME: summary_1
#+BEGIN_SRC python :prepend init_block
... data-processing code depending on init code goes here ...
#+END_SRC
#+NAME: summary_2
#+BEGIN_SRC python :prepend init_block
... more processing which also depends on init code ...
#+END_SRC
Я полагаю, я мог бы использовать эту :session
опцию, но я бы предпочел не делать этого по двум причинам. Во-первых, он устанавливает систему с состоянием, а не систему, которая запускается с нуля каждый раз, когда я использую C-c C-c
кодовый блок. Во-вторых, и теперь я должен помнить, что каждый раз, когда открываю файл, вручную оцениваю общий код инициализации: я не могу просто обновить таблицу данных, перейти к одному из сводных блоков и нажать, C-c C-c
чтобы обновить его.
Есть ли хороший способ сделать это?