RX0171

डोमेन: पार्सिंग

त्रुटि संदेश

पहली तालिका जो कुछ भी मेल नहीं खा सकती: %s (%s)

संदेश में %s उस मान की जगह है जिसे इंजन त्रुटि उठाते समय भरता है।

कहानी

आपकी first[...] तालिका में या तो else: प्रविष्टि नहीं है, या उसके बाद कोई और प्रविष्टि आ गई, और इंजन ने पार्स पर रोक दिया। नियम यह है: first[cond: value, …] हर तालिका else: value पर ख़त्म होती है और उसके बाद कुछ नहीं आता। तालिका शर्तों को क्रम से देखती है और जो पहली सच हो उसका मान देती है। अगर एक भी शर्त सच न निकले, तो क्या होगा? इसका जवाब रनटाइम पर कभी न माँगा जाए, इसलिए else अनिवार्य है। और उसके बाद कुछ आ ही नहीं सकता, क्योंकि else आख़िरी सहारा है। उदाहरण: first[x > 5: 'big', x > 2: 'mid'] में else नहीं है। इलाज: अंत में else: 'small' जैसी प्रविष्टि जोड़िए, और else के बाद की प्रविष्टि हटाइए या ऊपर ले जाइए। जैसे सीढ़ी के आख़िर में आख़िरी पायदान हमेशा चाहिए। संदेश बताता है कि दोनों में से कौन-सा हुआ।

पाठ Rush इंजन की त्रुटि सूची से लिया गया है।