क्या स्यूडोकोड लिखने का एक अच्छा तरीका है?


11

मैं कुछ छद्म कोड को स्केच करना चाहूंगा और फिर इसे अन्य लोगों के साथ साझा करूंगा जो emacs का उपयोग नहीं करेंगे।

क्या ऐसा करने का एक अच्छा तरीका है? मैं इसे ऑर्ग-मोड में करने की कोशिश कर रहा हूं, लेकिन यह ठीक से इंडेंट नहीं कर रहा है, आदि ...


किसी ने स्यूडोकोड-मोड लिखा है , लेकिन इस लेखन के रूप में यह केवल सिंटैक्स हाइलाइटिंग प्रदान करता है, कोई इंडेंटेशन नहीं।
drewivecc

जवाबों:


4

मुझे छद्म कोड मोड का पता नहीं है, ऑर्ग-मोड में इसके लिए इतना कम समर्थन है।

हालाँकि, आप #+BEGIN_EXAMPLEब्लॉक में छद्म कोड लिख सकते हैं, निश्चित रूप से इंडेंटेशन के बिना, या आप आधार वाक्य रचना और छद्म कोड के रूप में एक सच्ची भाषा के लिए तय करते हैं और इंडेंटेशन और सुंदर वाक्यविन्यास हाइलाइटिंग प्राप्त करते हैं। रूबी एक अच्छा उम्मीदवार हो सकता है, या अच्छा पुराना C / C ++, शायद जावा ...

यह इस तरह दिख सकता है:

#+HEADER: :exports both :results output
#+BEGIN_SRC ruby
class Pseudoclass
  def pseudofunction(items)
    add five to each item
  end
end

pseudoinstance = new Pseudoclass instance
call pseudofunction of pseudoinstance with list 2, 3, 4
#+END_SRC

0

यदि आप लासेक्स या पीडीएफ प्रारूप में अपने छद्मकोड को साझा करना स्वीकार करते हैं, तो आप mintedलाटेक्स गणित अभिव्यक्ति के साथ टेलेटाइप और अच्छी तरह से इंडेंटेड अभिव्यक्ति को मिलाने के लिए पैकेज का उपयोग कर सकते हैं । यहाँ प्रसिद्ध प्राइमर एल्गोरिथ्म का एक उदाहरण है:

#+begin_export latex
\begin{minted}[escapeinside=||,mathescape=true]{text}
Prim's Algorithm(|$V, s$|)
|$T = \varnothing$|
|$U = \{ s \}$|
while (|$U \neq V$|)
    let |$(u, v)$| be the lowest cost edge in the cut |$(U, V-U)$|
    |$T = T \cup \{(u, v)\}$|
    |$U = U \cup \{v\}$|
\end{minted}
#+end_export

जिसका प्रतिपादन इस प्रकार है यहाँ छवि विवरण दर्ज करें

यदि आप केवल इस pseudocode स्निपेट को साझा करना चाहते हैं, तो आपको बस इस ब्लॉक को चुनना होगा और कॉल करना होगा org-latex-export-as-latexया org-latex-export-to-pdfइस बात पर निर्भर करेगा कि आप क्या निर्यात करना चाहते हैं (आप संतोषजनक लेआउट के लिए org-mode विकल्पों को थोड़ा संशोधित कर सकते हैं)। आसानी से pseudocode लिखने के लिए, आप निश्चित रूप से, mintedगणित अभिव्यक्ति विभाजक को बदल सकते हैं, और yasnippetविकल्पों के उन गुच्छा से छुटकारा पाने के लिए लेटेक्स कस्टम ब्लॉक का उपयोग कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.