मैं उस तरह से नफरत करता हूं जो कि निश्चित रूप से (निश्चित रूप से अगर एलआईएसपी सामान्य नहीं है) मल्टीलाइन डोकस्ट्रिंग्स को संभालता है।
(defun foo ()
"This is
a multi
liner
docstring"
(do-stuff))
मुझे यकीन है कि काश मैं ऐसा कुछ कर पाता
(defun foo ()
(eval-when-compile
(concat
"This is\n"
"a multi\n"
"line\n"
"docstring"))
(do-stuff))
इतना है कि इंडेंटेशन सुसंगत था।
दुर्भाग्य से, eval-जब-संकलन काम नहीं करता है।
क्या किसी के पास कोई विचार है?
eval-when-compile
इसके परिणाम (इसे एक मूल्य से एक अभिव्यक्ति की ओर मोड़ना) को उद्धृत करता है । यदि यह थोड़ा अधिक चतुर था और केवल अपने परिणाम को उद्धृत करता है जब यह स्व-उद्धरण नहीं है, तो यह काम करेगा।
defun
। उस दृष्टिकोण की खामी - और यह एक बड़ा है - वह है किसी भी सॉफ़्टवेयर को भ्रमित करेगा (विशिष्ट कंपाइलर / दुभाषिया के अलावा) जो आपके कोड को खोज रहा हैdefun
।