मैं एक आरपीएल और स्क्रिप्टिंग के रूप में एफ # का उपयोग करने की कोशिश कर रहा हूं जो सी # लाइब्रेरी का उपयोग करता है। जब मैं आरईपीएल में एक वस्तु का मूल्यांकन, यह इसकी आंतरिक संरचना प्रिंट:एफपीएल से प्रिंट करने के लिए कैसे करें
> <expression>;;
val it: <type> =
<subtype> {<prop> = <value>;
...
<prop> = <value>;}
तो मैं एक ही अभिव्यक्ति के साथ एक स्क्रिप्ट लिख रहा हूँ और यह एक ही उत्पादन प्रिंट करना चाहते हैं। लेकिन मुझे कोई print
फ़ंक्शन नहीं मिल रहा है जो ऐसा करेगा। निकटतम मुझे मिल सकता है printfn "%O"
जो ToString() विधि का उपयोग करता है, जो मेरे मामले में परिभाषित नहीं है और केवल ऑब्जेक्ट प्रकार प्रिंट करता है।
यह एक साधारण सवाल प्रतीत होता है लेकिन मुझे यह Google में यहां या कहीं भी नहीं मिला है।
How to generate the F# type signature similar to FSI in my own code? टाइप पर केंद्रित होना प्रतीत होता है, और मुझे मूल रूप से सुंदर मुद्रित मूल्य की आवश्यकता है।
पीएस: ऐसा लगता है कि यह कोड है जो fsi.exe के लिए आंतरिक है। fsi.fs और sformat.fs स्रोत देखें। मैंने प्रतिबिंब के माध्यम से उन्हें आमंत्रित करने की कोशिश की, लेकिन सरल Internal.Utilities.StructuredFormat.any_to_string(value)
सिर्फ एक प्रकार मुद्रित किया। अगर कोई जानता है कि इसे सही तरीके से कैसे बुलाया जाए तो अभी भी अच्छा होगा, लेकिन समय के लिए मैंने फैसला किया कि इस पर अधिक प्रयास न करें।
संभावित डुप्लिकेट [अपने कोड में एफएसआई के समान एफ # प्रकार हस्ताक्षर कैसे उत्पन्न करें?] (Http://stackoverflow.com/questions/9908052/how-to-generate-the-f-type-ignature-similar -to-fsi-in-my-own-code) – TheInnerLight
इसके बारे में क्या: http://stackoverflow.com/questions/791706/how-do-i-ustomize-output-of-a-custom-type-using-printf ? –
@ हेल्गे-रीने-यूरोहोम जो ऑब्जेक्ट प्रकार को स्वयं बदलना शामिल करता है; मैं ऐसा नहीं कर सकता क्योंकि यह पुस्तकालय से है। असल में, मुझे आश्चर्य है कि उन्होंने कैसे "दोनों प्रिंट स्टेटमेंट उपज हासिल की: {ए = 5;}" परिणाम वहां; यह वही है जो मुझे – max630