Ho un org-mode
file contenente una tabella di dati e due blocchi di codice Python per estrarre diversi riepiloghi da esso.
Vorrei condividere alcune costanti e funzioni comuni tra questi due blocchi di codice. Idealmente, lo farei inserendo il codice comune in un blocco di codice separato, che verrebbe automaticamente incluso e valutato ogni volta che uno degli altri due blocchi viene valutato. Nella sintassi inventata, sarebbe simile al seguente:
#+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
Suppongo che potrei usare l' :session
opzione, ma preferirei non farlo, per due motivi. Innanzitutto, imposta un sistema con stato, piuttosto che uno che gira da zero ogni volta che uso C-c C-c
su un blocco di codice. In secondo luogo, e in relazione a ciò, ora devo ricordare di valutare manualmente il codice di inizializzazione comune ogni volta che apro il file: non posso semplicemente aggiornare la tabella dei dati, andare su uno dei blocchi di riepilogo e premere C-c C-c
per aggiornarlo.
C'è un buon modo per farlo?