2013-04-29 3 views
5

मैं हास्केल में एक todo.sh लिख रहा हूं, यह समझने के लिए कि आईओ कैसे काम करता है, और मैं इनपुट पार्स करने के लिए cmdArgs का उपयोग करने जा रहा हूं, जैसे कि पाइथन में argparse करते हैं।हास्केल ऐप्स में निर्भरताओं को पिन करने के लिए कैसे करें

मेरा सवाल है, मैं cmdArgs की निर्भरता को पीपी की आवश्यकताओं.txt की तरह कैसे पिन कर सकता हूं?

Django==1.5.1 
South==0.7.6 

और, क्या यह हैक में मेरा पैकेज वितरित करना ठीक है?

+0

तकनीकी रूप से, आप ऐसा कर सकते हैं, लेकिन इसे [पैकेज संस्करण नीति] (http://www.haskell.org/haskellwiki/Package_versioning_policy#Dependencies_in_Cabal) का पालन करने और संस्करण श्रेणियों का उपयोग करने के लिए अच्छी शैली माना जाता है। –

+0

हैकेज में एक [todos] (http://hackage.haskell.org/package/todos) पैकेज है। आपको उस से तुलना करनी चाहिए। –

+0

@ गैब्रियल गोंज़ालेज़, वास्तव में मैं इसे वितरित करने के लिए नहीं कर रहा हूं, मैं सीखने के लिए कर रहा हूं। हैकेज के साथ वितरित करना सीखने का एक और कदम है। –

उत्तर

6

अपने .cabal फ़ाइल

build-depends: 
    cmdargs == 0.10.3 

में build-depends फ़ील्ड का उपयोग करें लेकिन एक सही संस्करण को निर्दिष्ट आमतौर पर सबसे अच्छा विचार नहीं है, इसलिए

build-depends: 
    cmdargs >= 0.8 && < 0.11 

स्वीकार्य संस्करणों की एक सीमा निर्दिष्ट करता है।

और, क्या यह हैक में मेरा पैकेज वितरित करना ठीक है?

यदि आप जानते हैं कि यह कभी भी किसी के लिए उपयोगी नहीं होगा।

दूसरे शब्दों में, हाँ, सुनिश्चित करें कि यह ठीक है। इसके लिए आपको हैकेज पर एक खाता चाहिए, और इसमें कुछ समय लग सकता है, हालांकि।

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

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