2011-01-06 3 views
14

मुझे फ़ाइल से कॉन्फ़िगरेशन के लिए कुंजी-मूल्य जोड़े के सेट की आवश्यकता है। मैंने डेटा.मैप पर शो का उपयोग करने की कोशिश की और यह मेरी इच्छा के अनुसार बिल्कुल नहीं दिखता है। ऐसा लगता है कि ऐसा कुछ अन्य हो सकता है जो पहले से ही हो चुका है, इसलिए मैं सोच रहा हूं कि ऐसा करने का एक मानक तरीका है और कौन सी लाइब्रेरी का उपयोग करना है।क्या हास्केल में कोई विशिष्ट कॉन्फ़िगरेशन या प्रॉपर्टी फ़ाइल प्रारूप और लाइब्रेरी है?

+0

taotree: सुनिश्चित नहीं है कि आप, पूछने वाले, संपादन के बारे में सूचित हैं, इसलिए ... "मैंने हाल ही में कॉन्फ़िगरेटर का उपयोग किया है - जो कि काफी आसान था। मेरा सुझाव है कि आप इसे आजमाएं!" यह वास्तव में सरल और पूर्ण विशेष रुप से प्रदर्शित है। –

उत्तर

14
  1. hackage पर जाएं।
  2. "packages"
  3. "कॉन्फ़िगरेशन" के लिए खोजें पर क्लिक करें।
  4. नोटिस ConfigFile (TH), EEConfig, और tconfig
  5. हैडॉक दस्तावेज़
  6. एक जोड़े का चयन करें और अपना कार्य लागू करें।
  7. अपने निष्कर्षों के बारे में ब्लॉग ताकि हम में से बाकी आपकी नई मिली विशेषज्ञता (धन्यवाद!) से सीख सकें।

संपादित करें: मैंने हाल ही में configurator का उपयोग किया है - जो कि काफी आसान था। मेरा सुझाव है कि आप इसे आजमाएं!

+2

"दस्तावेज़ पढ़ें" - मुझे लगता है कि हैकेल सीखते समय एक बहुत मुश्किल है। –

+5

यह आसान हो जाता है। –

3

मैं भी सिर्फ Text.JSON या YAML उपलब्ध पुस्तकालयों में से एक उपयोग करने का सुझाव चाहते हैं (हाँ, हाँ। अगर मैं अपने ही सलाह मान ली मैं आप सभी के लिए एक ब्लॉग बना सकता था) (मैं JSON अपने आप को पसंद करते हैं, परंतु...)।

4

Hackage पर विन्यास श्रेणी सभी प्रासंगिक पुस्तकालयों में सूचीबद्ध करना चाहिए: http://hackage.haskell.org/packages/#cat:Configuration

मैं विषय अपने आप को अब शोध किया है, और मेरे निष्कर्ष है:

  • configurator बहुत अच्छा है, लेकिन यह अभी के लिए ही है उपयोगकर्ता द्वारा संपादित विन्यास। एप्लिकेशन केवल कॉन्फ़िगरेशन पढ़ता है और इसे संशोधित नहीं कर सकता है। तो यह सर्वर-साइड अनुप्रयोगों के लिए और अधिक है।
  • tconfig आ सरल एपीआई है और देखा यह है कि मैं क्या चाहता था, शायद थोड़ा कच्चा है, जब तक मुझे एहसास हुआ कि यह unmaintained है और कुछ commits जो वास्तव में एप्लिकेशन का उपयोग करने के लिए महत्वपूर्ण हैं GitHub पर लागू होते हैं लेकिन hackage पैकेज अद्यतन नहीं किया गया था कि

अन्य समाधान ऐसा नहीं लग रहे थे कि वे मेरे लिए काम करेंगे, मुझे एपीआई पसंद नहीं आया, लेकिन हर एप्लिकेशन (और स्वाद) अलग हैं।

मुझे लगता है कि उदाहरण के लिए जेएसओएन का उपयोग करना एक अच्छा समाधान नहीं है क्योंकि कम से कम एज़ोन के साथ जब आप एक नई रिलीज में नई सेटिंग्स जोड़ते हैं, तो पिछले संस्करण से नए सदस्य के बिना पुराना JSON लोड नहीं होगा। इसके अलावा, मुझे लगता है कि समाधान थोड़ा verbose।

मेरे शोध का निष्कर्ष यह है कि मैंने अपनी खुद की लाइब्रेरी, app-settings लिखा है, जिसका उद्देश्य मुख्य मूल्य, रीड-राइट होना चाहिए, जितना संभव हो सके सिकिंट और टाइप-सुरक्षित एपीआई के साथ। और आपको यह कॉन्फ़िगरेशन श्रेणी के लिए हैकेज लिंक में भी मिलेगा जो मैंने दिया था।

तो संक्षेप में, मुझे लगता है कि configurator केवल पढ़ने के लिए कॉन्फ़िगरेशन के लिए मानक है (और यह भी बहुत शक्तिशाली है, आप कॉन्फ़िगरेशन फ़ाइल को उदाहरण के साथ आयात के साथ विभाजित कर सकते हैं)। पढ़ने के लिए लिखने के लिए कई छोटी पुस्तकालय हैं, कुछ अनियमित हैं, और मुझे लगता है कि कोई वास्तविक मानक नहीं है।

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