2012-03-09 39 views
8

के रूप में क्लोजर फ़ंक्शन को वापस कैसे करें स्ट्रिंग के रूप में क्लोजर फ़ंक्शन को वापस करने का कोई तरीका है? मैं कुछ ऑनलाइन दस्तावेज बना रहा हूं और मैं किसी भी तरह से पाठ में किसी फ़ंक्शन का मूल्यांकन करके HTML में कोड जोड़ना चाहता हूं।स्ट्रिंग

धन्यवाद

+0

संभव डुप्लिकेट (http://stackoverflow.com/questions/ 9217911/कैन-यू-गेट-द-कोड-ए-लोड-फ़ंक्शन-इन-क्लोजर) –

+0

मुझे लगता है कि इस प्रश्न के डुप्लिकेट की तुलना में अधिक Googleable शीर्षक है। –

+0

आप कम से कम प्रेरणा के लिए [मार्जिनिया] (https://github.com/fogus/marginalia) पर विचार करना चाहेंगे, [उदाहरण मार्जिनिया साइट] (http://fogus.me/fun/marginalia/) देखें आउटपुट कैसा दिखता है इसका उदाहरण। –

उत्तर

6

clojure.repl नाम स्थान से source-fn समारोह पर एक नज़र डालें:

प्रयोग

: (स्रोत-fn एक्स)

दिया प्रतीक के लिए स्रोत कोड की एक स्ट्रिंग रिटर्न , अगर यह इसे ढूंढ सकता है। इसके लिए यह आवश्यक है कि प्रतीक नामस्थान में परिभाषित एक Var को हल करे जिसके लिए .clj क्लासपाथ में है। अगर यह स्रोत नहीं ढूंढ पाता है तो शून्य वापस आता है। अधिकांश आरईपीएल उपयोग के लिए, 'स्रोत' अधिक सुविधाजनक है।

उदाहरण: [? आप Clojure में एक लोड समारोह के "डेटा के रूप में कोड" प्राप्त कर सकते हैं] (स्रोत-fn 'फिल्टर)

की
+0

बहुत बहुत धन्यवाद। (स्रोत) बिल्कुल वही था जो मुझे चाहिए! निश्चित रूप से स्पष्ट रूप से लगता है;) –

+0

बस मजाक कर रहा है, स्रोत प्रिंट का उपयोग करता है जहां स्रोत-एफएन आवश्यक स्ट्रिंग देता है। एक बार फिर धन्यवाद –