मेरे पास org-mode
डेटा की एक तालिका है और इसमें से विभिन्न सारांश निकालने के लिए दो पायथन कोड ब्लॉक हैं।
मैं इन दो कोड ब्लॉक के बीच कुछ सामान्य स्थिरांक और कार्यों को साझा करना चाहता हूं। आदर्श रूप में, मैं सामान्य कोड को एक अलग कोड ब्लॉक में फैक्टरिंग करके ऐसा करूंगा, जो कि जब भी अन्य दो ब्लॉकों का मूल्यांकन किया जाता है, तो स्वचालित रूप से शामिल और मूल्यांकन किया जाएगा। बना-बनाया वाक्य-विन्यास में, यह कुछ इस तरह दिखेगा:
#+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
इसे अपडेट करने के लिए हिट कर सकता हूं ।
क्या ऐसा करने का कोई अच्छा तरीका है?