Org src ब्लॉकों में नेस्टेड नेब

Sep 06 2020

मेरे पास निम्नलिखित कोड ब्लॉक हैं:

ब्लॉक 1 सिर्फ एक लाइन है। यह एक MWE है। वास्तव में, मेरे पास ब्लॉक 1 में कई लाइनें हैं।

#+name: block1
#+begin_src python :noweb no :exports none
print("Block 1")
#+end_src

MWE की खातिर ब्लॉक 2 को भी कम कर दिया गया है।

#+name: block2
#+begin_src python :noweb no :exports none
<<block1>>
print("Block 2")
#+end_src

यह myfunc का कंकाल दिखाता है। मैं myfunc का अवलोकन देने के लिए इस कंकाल को शामिल करना चाहता हूं।

#+name: block3
#+begin_src python :noweb no :exports code
def myfunc(x):
    <<block2>>
#+end_src

अंत में, यह myfunc के पूर्ण विनिर्देश को दर्शाता है।

#+begin_src python :noweb yes :exports code
<<block3>>
#+end_src

जब मैं इसे निर्यात किए जाने की तरह दिखने की उम्मीद करता हूं

def myfunc(x):
    print("Block 1")
    print("Block 2")

यह वास्तव में कैसा दिखता है

def myfunc(x):
    <<block1>>
    print("Block 2")

जब मैं उपयोग करता हूं तो मुझे नेस्टेड ब्लॉक का पूरी तरह से विस्तार करने के लिए कैसे मिल सकता है: अब हां?

जवाब

mankoff Sep 06 2020 at 18:28

आपका उदाहरण काम करता है अगर मैं सभी हेडर के साथ सेट करता हूं :noweb yesऔर तब केवल अंतिम ब्लॉक होता है :tangle yes।

एक सरल उदाहरण:

  1. इसे फ़ाइल के शीर्ष पर जोड़ें: #+PROPERTY: header-args :noweb yes :tangle no :exports code
  2. कोड ब्लॉक से सभी हेडर को हटा दें।
  3. :tangle yes"पूर्ण विनिर्देश" में हेडर जोड़ें ।