2012-04-22 31 views
13

क्या हैस्केल में कोई आदेश है जो सभी उपयोगकर्ता परिभाषित कार्यों को प्रदर्शित करता है (या सूची के रूप में प्राप्त करता है) जिन्हें जीएचसीआई में लोड/परिभाषित किया गया है? धन्यवादहास्केल: सभी उपयोगकर्ता परिभाषित कार्यों की सूची/सूची प्राप्त करें

उत्तर

18

ghci प्रॉम्प्ट पर आपके द्वारा बनाई गई बाइंडिंग देखने के लिए (उदा। let या <- के साथ), :show bindings आज़माएं।

यदि आपने कुछ मॉड्यूल लोड किए हैं, तो आप लोड मॉड्यूल के नाम प्राप्त करने के लिए :show modules का उपयोग कर सकते हैं और फिर उस मॉड्यूल से दायरे में सब कुछ सूचीबद्ध करने के लिए :browse ModuleName का उपयोग कर सकते हैं।

+0

हाय, मैंने कोशिश की लेकिन यह मेरे लिए काम नहीं किया। मैं WinGHCi का उपयोग कर रहा हूं और मैंने पोस्ट में उल्लिखित 'लोड' फ़ंक्शन के माध्यम से फ़ंक्शन लोड किए हैं [हास्केल: वर्तमान निर्देशिका पथ में सभी फ़ाइलों को लोड करना] (http://stackoverflow.com/questions/10268692/haskell-loading-all -files में वर्तमान निर्देशिका पथ)। हालांकि जब मैं कोशिश करता हूं ': शो बाइंडिंग' यह सिर्फ 'it :: int = 7' कहता है क्योंकि मैंने आखिरी बार 'addNumber2 3 4' का आह्वान किया था। धन्यवाद – artella

+0

मैंने मॉड्यूल होने पर आपके द्वारा किए गए कार्यों के लिए निर्देशों में संपादित किया है। –

+0

हाय, ब्राउज़ करने के लिए आवश्यक है कि कौन सा मॉड्यूल लोड किया गया है। क्या मॉड्यूल लोड किए जाने के बारे में जानकारी के बिना ऐसा करने का कोई तरीका है? (नीचे टिप्पणी भी देखें)। धन्यवाद। – artella

8

जब ghci में, फ़ाइल लोड करने के बाद :browse या केवल :bro का उपयोग करें। आप :browse Foo.Bar.Baz के माध्यम से अनलोड किए गए मॉड्यूल भी ब्राउज़ कर सकते हैं।

+0

': br' अब ब्राउजिंग के लिए 'ब्रेक' का हल करता है, आपको': bro' की आवश्यकता है। –

+0

@DanielFischer धन्यवाद, तय। –

+12

': dawg' के लिए एक ghci समानार्थी होना चाहिए ': bro' –

संबंधित मुद्दे