जवाबों:
असल में, एक रास्ता है!
(comment
(defn hey []
("Hey there!"))
Check me out!
)
बस अपनी टिप्पणी (टिप्पणी ..) में लपेटें :)
मज़े करो!
क्लोजर एक #_
पाठक मैक्रो का समर्थन करता है जो अगले रूप को पूरी तरह से छोड़ देता है। इस पृष्ठ पर उल्लेख किया गया है के बारे में Clojure Reader । टिप्पणी मैक्रो भी है जिसका प्रभाव समान है, लेकिन इसे अलग तरीके से लागू किया जाता है।
उपरोक्त दोनों को यह आवश्यक है कि जिस चीज़ के बारे में आप टिप्पणी कर रहे हैं, वह अन्यथा एक वाक्यात्मक रूप से सही एस-अभिव्यक्ति है।
कुछ लिस्प बोलियों में एक बहु-पंक्ति टिप्पणी है जिसमें मनमाना पाठ शामिल हो सकता है, लेकिन मैं क्लोजर के लिए एक नहीं देखता हूं।
*scratch*
बफ़र में, कई लाइनों के बाद ;
;;
या उसके बाद कुछ रद्दी टाइप करें ;;;
, अर्धविराम के बाद पहले शब्द पर कर्सर रखें और दबाएं Meta-Q
)।
दोहरे उद्धरण (स्ट्रिंग शाब्दिक) मनमाना पाठ जोड़ने की अनुमति देते हैं (न केवल उचित एस-रूप):
(comment "
public class HelloWorld {
public static void main(String[] args) {
System.out.print("Hello, World");
System.out.println();
}
}
")
Hello
, तीसरा रूप प्रतीक है World
, और 4 वां रूप एक और स्ट्रिंग है। comment
बस सभी रूपों को अनदेखा करता है। इसलिए उदाहरण में, हम भाग्यशाली हैं कि Hello, World
कानूनी क्लोजर के रूप में पर्स करते हैं। यह मनमाना पाठ के साथ काम नहीं करता है। उदाहरण के लिए, (comment "print("/foo")")
त्रुटि के साथ मर जाएगा Invalid token: /foo
।
अन्य उदाहरण महान हैं, मैं सिर्फ एक और चाल जोड़ना चाहूंगा:
कभी-कभी आप कोड की कुछ लाइनों पर टिप्पणी करना चाहते हैं, लेकिन भी संकलक इसे संकलित करते हैं और किसी भी त्रुटि की रिपोर्ट करते हैं (उदाहरण के लिए शीर्ष-स्तरीय नामस्थान में आदेशों का एक समूह जिसे आप बाद में REPL में निष्पादित करने की योजना बनाते हैं)।
इस मामले में मैं कोड को लपेटना पसंद करता हूं, (fn [] .....)
जिसका अर्थ है कि यह अभी भी संकलित है, यह सिर्फ कॉल नहीं करता है।
इस लिंक को देखें: http://en.wikibooks.org/wiki/Clojure_Programming/Tutorials_andips
आप वाक्य रचना के साथ बहुस्तरीय टिप्पणियां बना सकते हैं
(comment .....
....)
Emacs में आप कमांड M-;
(शॉर्टकट के लिए M-x comment-dwim
) का उपयोग कर सकते हैं । यह पाठ / कोड के किसी भी चिह्नित क्षेत्र पर टिप्पणी करेगा या असहज करेगा, इसलिए, जब तक कि आपके पूरे फ़ंक्शन या फ़ंक्शन का सेट क्षेत्र में शामिल नहीं हो जाता, तब तक आप उस क्षेत्र को काफी आसानी से टिप्पणी या असहज कर सकते हैं। समारोह के लिए Emacs संदर्भ मैनुअल यहांM-;
पाया जा सकता है ।
वहाँ कई तरीके हैं जो मुझे पता है:
पहले एक टिप्पणी मैक्रो का उपयोग कर रहा है : यह केवल टिप्पणी बॉडी के अंदर सभी कोड का मूल्यांकन नहीं करता है (लेकिन यह अभी भी संतुलित कोष्ठक / कोष्ठक के लिए जाँच करता है)। यदि आप अपने तरीके को पैराडिट के साथ जानते हैं, तो यदि आप कुछ सेक्सप कॉल्स कमेंट करना चाहते हैं तो आपको ज्यादा समय नहीं लगेगा।
(comment
(println 1))
हालाँकि, यह अभी भी कोष्ठक मिलान के लिए जाँच करेगा। इसलिए यदि आपके पास असंतुलित कोष्ठक है, तो आप कोड (पैदावार) नहीं करेंगेjava.lang.RuntimeException: EOF while reading
) का ।
एक और तरीका उपयोग कर रहा है #_
(उर्फ मैक्रो को त्यागें): यह अगले सेक्सप को त्याग देगा, जिस तरह से मैं व्यक्तिगत रूप से पसंद करता हूं (तेजी से टाइप करने के लिए और आम तौर पर मैं उस पर सेक्स करता हूं जब मुझे डिबग करना पड़ता है):
#_(println 1)
यह बेजोड़ सीमांकक के लिए भी जाँच करता है: इसलिए यदि आपके पास असंतुलित कोष्ठक है, तो यह भी संकलित नहीं होगा।
अंत में, ऐसा ;
चरित्र है जो लाइन पर टिप्पणी करेगा (अन्य भाषाओं की कमेंटरी सुविधा के समान) और संकलन इसे पूरी तरह से अनदेखा करेगा। यदि आप कई पंक्तियों पर टिप्पणी करना चाहते हैं, तो आपको सभी पंक्तियों को प्रस्तुत करना होगा; , जो आम तौर पर एक परेशानी है, लेकिन आमतौर पर टेक्स्ट एडिटर कई लाइनों का चयन करने के बाद एक कमांड के साथ आपके लिए करेंगे।
; (println 1)
; (println 1 also won't break
एक लंबी टिप्पणी ब्लॉक के लिए, मैक्रों #_ या (टिप्पणी ...) ने स्वामित्व के रूप में काम नहीं किया, फिर मैंने VSCODE (OS X) के साथ टिप्पणी ब्लॉक की।