Tengo un org-mode
archivo que contiene una tabla de datos y dos bloques de código Python para extraer diferentes resúmenes de él.
Me gustaría compartir algunas constantes y funciones comunes entre estos dos bloques de código. Idealmente, haría esto factorizando el código común en un bloque de código separado, que se incluiría y evaluaría automáticamente cada vez que se evalúe cualquiera de los otros dos bloques. En una sintaxis inventada, se vería algo así:
#+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
Supongo que podría usar la :session
opción, pero preferiría no hacerlo, por dos razones. Primero, configura un sistema con estado, en lugar de uno que se ejecuta desde cero cada vez que lo uso C-c C-c
en un bloque de código. En segundo lugar, y de manera relacionada, ahora tengo que recordar evaluar manualmente el código de inicialización común cada vez que abro el archivo: no puedo simplemente actualizar la tabla de datos, ir a uno de los bloques de resumen y presionar C-c C-c
para actualizarlo.
¿Existe una forma correcta de hacer esto?