ओकैमल प्रतिकृति ("टोपलवेल") में किसी भी प्रकार, उपयोगकर्ता द्वारा परिभाषित या अन्यथा के लिए समृद्ध प्रिंटिंग है। क्या किसी के अपने स्वयं के सेट के लिए मूल्य प्रिंटर का एक पूरी तरह से कस्टम सेट लिखने के बजाय, इस कार्यक्षमता को अपरिपक्व के बाहर एक्सेस करना संभव है?OCaml मानों को अपूर्ण के बाहर मुद्रित कैसे किया जा सकता है?
उत्तर
सुंदर मुद्रण सुविधा अपूर्ण पुस्तकालय का हिस्सा है। आपको toplevel/genprintval.ml
में स्रोत मिलेगा। यह समझ में आता है कि इस प्रकार की जानकारी की आवश्यकता है: आप उस पर कोई मूल्य नहीं फेंक सकते हैं, सुंदर प्रिंटर की पसंद इस प्रकार पर आधारित है।
आप अपने प्रोग्राम में इस कोड का उपयोग करना चाहते हैं, तो आप उच्चस्तरीय पुस्तकालय (toplevellib.cma
) के साथ लिंक करने के लिए genprintval
में संकलन (प्रकार चेकर के लिए पर्याप्त बिट्स में लाने प्रकार का विश्लेषण करने, जिसका अर्थ है, यह कर सकते हैं की जरूरत है या करेंगे बहुत बड़ा हो)।
डीबगर (debugger/printval.ml
और debugger/loadprinter.ml
) में एक समान सुविधा है (लेकिन मुझे लगता है कि कोड साझा नहीं कर रहा है)।
तीसरे पक्ष के पुस्तकालय हैं जिन्हें आप सीधे लिंक कर सकते हैं और जो सुंदर मुद्रण सुविधाएं प्रदान करते हैं। Extlib का Std.dump
एक बहुत ही कच्ची सुविधा प्रदान करता है (प्रकार के आधार पर नहीं)। जेरेमी येलोप और जेक डोनहम द्वारा Deriving एक और दृष्टिकोण है। This Caml Weekly News item अधिक सुझाव प्रदान करता है।
ओकैमल बैटरी शामिल पुस्तकालय में इसके BatPervasives मॉड्यूल में dump
फ़ंक्शन शामिल है। यह किसी भी मूल्य को एक स्ट्रिंग में परिवर्तित करता है और इसे वापस करता है। आप इसका स्रोत कोड here देख सकते हैं। आउटपुट अपरिवर्तनीय के समान नहीं होगा, क्योंकि रनटाइम पर कुछ जानकारी खो जाती है, उदा। सार डेटा प्रकार कन्स्ट्रक्टर पूर्णांक बन जाएगा।
@MikeSamuel: निश्चित – newacct
- 1. देरी_job मणि रेल के बाहर इस्तेमाल किया जा सकता है?
- 2. क्या पीडीएफ को वेक्टर छवि प्रारूप में परिवर्तित किया जा सकता है जिसे .NET से मुद्रित किया जा सकता है?
- 3. OCaml
- 4. DLLImport Int ** - यह कैसे किया जा सकता है अगर यह किया जा सकता है
- 5. OCaml
- 6. बैश सेट + x के बिना यह मुद्रित किया जा रहा
- 7. मैक्रो/कीवर्ड जिसका उपयोग विधि नाम मुद्रित करने के लिए किया जा सकता है?
- 8. कक्षा क्षेत्रों को कैसे शुरू किया जा सकता है?
- 9. कैसे कैश को पराजित किया जा सकता है?
- 10. जावा में स्ट्रिंग को कैसे सत्यापित किया जा सकता है?
- 11. स्ट्रिंगबिल्डर को स्ट्रिंग में कैसे परिवर्तित किया जा सकता है []?
- 12. बटन को फ़ोकस कैसे प्राप्त किया जा सकता है?
- 13. स्पार्क लेबल को कैसे स्किन किया जा सकता है?
- 14. ऑपरेटर && लागू नहीं किया जा सकता है
- 15. OCaml
- 16. ocaml
- 17. कैसे jFrames JavaFX के अंदर किया जा सकता है?
- 18. गैर-ASCII वर्णों के साथ स्ट्रिंग्स को ऑप्टपर्स के साथ कैसे पुनर्प्राप्त किया जा सकता है?
- 19. OCaml
- 20. OCaml उच्चस्तरीय
- 21. , इसे कब मुक्त किया जा सकता है?
- 22. OCaml
- 23. गतिशील रूप से लोड किया जा सकता है जावास्क्रिप्ट अनलोड किया जा सकता है?
- 24. उद्देश्य-सी में किसी ऑब्जेक्ट को भेजे गए संदेशों की निगरानी या मुद्रित किया जा सकता है?
- 25. फ्लेक्स प्रिंटिंग - क्या यह किया जा सकता है?
- 26. Ocaml में एक स्ट्रिंग में एक वृक्ष संरचना को मुद्रित करने के लिए कैसे?
- 27. OCaml
- 28. OCaml
- 29. badoo.com उपयोगकर्ता खोज - यह कैसे किया जा सकता है?
- 30. Cpython में क्या किया जा सकता है जो IronPython में नहीं किया जा सकता है?
क्या आपको प्रकार का विश्लेषण करने के लिए स्रोत कोड की आवश्यकता नहीं है? – newacct
@ न्यूवाक्ट हां, आपको प्रकार की जानकारी चाहिए, जिसे कंपाइलर द्वारा छोड़ा गया है (लेकिन अपूर्ण या डीबगर के लिए उपलब्ध है)। थर्ड-पार्टी लाइब्रेरी सामान्य प्रकार-निर्भर सुंदर-प्रिंटर लिखने का एक तरीका नहीं, हर प्रकार के लिए एक प्रकार-विशिष्ट सुंदर-प्रिंटर लिखने के हल्के तरीके प्रदान करते हैं। ऐसे भाषा एक्सटेंशन हैं जो जेनेरिकों को अनुमति देते हैं, लेकिन कोई उत्पादन-तैयार कार्यान्वयन AFAIK नहीं है। वर्तमान में, – Gilles
बीटीडब्ल्यू, कम से कम, 'Extlib.Std.dump' और' BatPervasives.dump', @newacct द्वारा उल्लिखित, एक ही कार्य हैं: 'Extlib.Std.dump == BatPervasives.dump ;;' => 'bool = सच'। – Mars