2017-02-11 9 views
9

मैं एक JSON विन्यास फाइल, कुछ इस तरह का उपयोग करके निरंतर मूल्यों का निर्धारण कैसे करेंगे:जंग मैक्रोज़ पार्स JSON कर सकते हैं?

enum E { 
    ONE = get!(include_json!("a.json"), 0), 
    TWO = get!(include_json!("a.json"), 1), 
} 

वहाँ संकलन समय पर JSON पार्स करने के लिए कोई तरीका है?

+0

क्षमा करें, मैंने देखा है कि मैंने enum परिभाषा को गलत समझा, इसलिए परिभाषा को संशोधित किया। – kriw

+0

अच्छा! तब मुझे लगता है कि 'build.rs' दृष्टिकोण संभव है। इस परिभाषा को सबसे छोटी फ़ाइल में अलग करें और आप जाने के लिए अच्छे हैं। –

उत्तर

8

संकलन समय पर जेसन को पार्स करने के कई तरीके हैं। "भागीदारी" के क्रम में:

  • build.rs script का उपयोग करके निर्माण के दौरान अपना स्रोत कोड उत्पन्न करने के लिए; यह निश्चित रूप से, तकनीकी रूप से धोखा दे रही है, लेकिन यह आसान है,
  • include_str! के साथ संयोजन में एक const समारोह का उपयोग कर, यह हर रात को की आवश्यकता होगी और मुझे यकीन है कि क्या संकलन समय इंजन कुछ समय के पर पर्याप्त शक्तिशाली है नहीं कर रहा हूँ,
  • एक कंपाइलर प्लगइन लिखना, जो include_str! है, इसे रात की भी आवश्यकता होती है और इंटरफ़ेस संकलक की प्रत्येक रिलीज के साथ बदल सकता है।

इस प्रकार मैं आपको सलाह देता हूं कि अब आप build.rs स्क्रिप्ट दृष्टिकोण का उपयोग करें क्योंकि यह सरल और स्थिर दोनों है।

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