2012-01-15 8 views
25

मान लें कि कुछ हास्केल फ़ाइलजीएचसीआई के लिए प्रोग्राम के कमांड लाइन तर्क कैसे सेट करें?

runghc Queens.hs gecode_compile 

अब साथ क्रियान्वित किया जाता है, इस में विफल रहता है, और मैं ghci साथ यह डिबग करने के लिए चाहते हैं। मैं प्रोग्राम में gecode_compile विकल्प कैसे पास करूं, इसलिए getArgs इसे सही तरीके से पढ़ेगा?

धन्यवाद !!

उत्तर

45

तुम भी

ghci> :set args foo bar 
ghci> main 

या

ghci> :main foo bar 
+2

हाँ, बहुत बुरा GHCi में आदेश पंक्ति तर्क सेट कर सकते हैं शॉर्टकट ट्रेस चालू नहीं करता है – gatoatigrado

15

आप अपने इच्छित तर्कों के साथ main निष्पादित करने के लिए System.Environment.withArgs फ़ंक्शन का उपयोग कर सकते हैं।

यहाँ एक उदाहरण सत्र (अप्रासंगिक विवरण elided) है:

$ ghci 
GHCi, version 7.0.3: http://www.haskell.org/ghc/ :? for help 
Prelude> import System.Environment 
Prelude System.Environment> let main = getArgs >>= mapM_ putStrLn 
Prelude System.Environment> withArgs ["hello", "world"] main 
hello 
world 
10

आप :set आदेश का उपयोग कर सकते हैं:

Prelude> :set args whatever 

यह है कि getArgs रिटर्न ["whatever"] मतलब होगा।

तो अपने मामले में आप सिर्फ इस करना चाहिए:

Prelude> :set args gecode_compile 
संबंधित मुद्दे