सबसे पहले, हाँ, मैंने खोज की है और, हाँ, मैंने एक ही अपाचे दस्तावेज़ को हर एक अंक को पढ़ा है। :-) मुझे लगता है कि थोड़ा उलझन है और मुझे लगता है कि मुझे एक जवाब पता है, इसलिए मुझे जो कुछ सोचा गया था उसका एक उदाहरण बताएं, इसका उत्तर दें जो मुझे लगता है कि जवाब है। धन्यवाद। ओह, और मुझे पता है कि कुछ एंडचॉइस() लाइनें सख्ती से जरूरी नहीं हैं और कैमल इसे समझ लेगा, लेकिन मुझे ब्लॉक को साफ-सुथरा रूप से चित्रित करना पसंद है, जब तक कि इसका उपयोग न करने का कोई कारण न हो।ऊंट अंत बनाम एंडचॉइस - सामान्य क्वेरी नहीं
.choice()
.when(X1)
// do stuff
.choice()
.when(Y)
//do more stuff
.endChoice() // close inner when block
.end() // close inner choice block
.endChoice() // close first outer when
.when(X2)
// do other stuff
.endChoice() // close second outer when
.end() // close outer choice
तो, एपीआई पर अपने मूल देखो, मैंने सोचा था कि अंत() विकल्प और विभाजन और उस endChoice (जैसे समापन बातों के लिए किया गया था) जब और अन्यथा की तरह पसंद के विकल्प को बंद करने के लिए किया गया था। ऐसा लगता है कि उत्तरार्द्ध वास्तव में अंत है() जो चॉइसडिफिनिशन देता है। जो नाम थोड़ा बेहतर बनाता है।
लेकिन, अगर मैं अंतराल() को 'करीबी आंतरिक पसंद ब्लॉक' लेबल करता हूं, तो इसका मतलब है कि मैं अगली पंक्ति, एंडचॉइस() पर जाता हूं। क्या यह आंतरिक पसंद ब्लॉक बंद करता है? यह देखते हुए कि, जब (एक्स 2) अभी भी जब (एक्स 1) ब्लॉक के भीतर है। इसलिए, मुझे लगता है कि मुझे इसे हटाने के बजाय एंडचॉइस() के साथ एंड() को प्रतिस्थापित करने की आवश्यकता है। तो परिणाम इस तरह दिखेगा:
.choice()
.when(X1)
// do stuff
.choice()
.when(Y)
//do more stuff
.endChoice() // close inner when block
.endChoice() // close inner choice block
.endChoice() // close first outer when
.when(X2)
// do other stuff
.endChoice() // close second outer when
.end() // close outer choice
तो क्या यह ऊंट में इसे संभालने का तरीका है? या क्या कोई आसान तरीका है कि मैं अभी याद कर रहा हूं? आपके समय के लिए धन्यवाद।
अच्छी सलाह, मैं घोंसला विकल्पों को भी नहीं करने का प्रयास करता हूं। आपके सहयोगी या आपका भविष्य स्वयं आपको धन्यवाद देगा;)। – helpermethod