Ich habe eine org-mode
Datei mit einer Datentabelle und zwei Python-Codeblöcken, um verschiedene Zusammenfassungen daraus zu extrahieren.
Ich möchte einige gemeinsame Konstanten und Funktionen zwischen diesen beiden Codeblöcken teilen. Im Idealfall würde ich dazu den gemeinsamen Code in einen separaten Codeblock zerlegen, der automatisch einbezogen und ausgewertet wird, wenn einer der beiden anderen Blöcke ausgewertet wird. In der erfundenen Syntax würde es ungefähr so aussehen:
#+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
Ich nehme an, ich könnte die :session
Option nutzen, würde es aber aus zwei Gründen vorziehen, nicht zu tun. Erstens wird ein statusbehaftetes System eingerichtet und nicht ein System, das jedes Mal neu gestartet wird, wenn ich C-c C-c
einen Codeblock verwende. Zweitens und damit verbunden muss ich jetzt daran denken, den gemeinsamen Initialisierungscode bei jedem Öffnen der Datei manuell auszuwerten: Ich kann nicht einfach die Datentabelle C-c C-c
aktualisieren, sondern in einen der Zusammenfassungsblöcke gehen und auf klicken, um ihn zu aktualisieren.
Gibt es eine gute Möglichkeit, dies zu tun?