नेस्टेड अगर-स्टेटमेंट से बचने और पठनीयता में सुधार करने के लिए, मैं कोल्डफ्यूजन में switch(true){ ... }
कथन बनाना चाहता था। मैं php में अक्सर इस प्रयोग किया जाता है, लेकिन जब मैं Coldfusion में इस कोशिश, मैं प्रारंभ में निम्नलिखित त्रुटि मिलती है:ठंडेपन में गतिशील मामलों के साथ स्विच (सच)?
खाका त्रुटि
यह अभिव्यक्ति एक निरंतर मान होना चाहिए।
यह तब होता है जब एक स्विच मामले इसकी हालत में एक चर का उपयोग करता है, जैसे:
//this example throws the error
switch(true){
case foo == 1:
writeOutput('foo is 1');
break;
}
एक स्विच निरंतर मूल्यों के साथ (सही) {...} बयान का उपयोग करना (के रूप में त्रुटि बताते हैं) करता है कार्य:
//this example doesn't throw the error
switch(true){
case 1 == 1:
writeOutput('1 is 1');
break;
}
क्या कोल्डफ्यूजन में काम करने के लिए पहला बयान पाने का कोई तरीका है? शायद परिवर्तनीय या कुछ चाल के मूल्यांकन के साथ, या यह कोल्डफ्यूजन में कोई निश्चित नहीं है?
नहीं। जब तक उन्होंने CF11 में व्यवहार नहीं बदला है, तो यह निरंतर होना चाहिए या [इस तरह से लिखा गया है कि यह निरंतर नियम के अनुरूप है] (http://stackoverflow.com/questions/31910902/coldfusion-cfscript-switch-case- जहां-केस के बीच एक सीमा)। – Leigh