मैं Raphael.js
के स्रोत कोड के माध्यम से देख रहा था कि यह पता लगाने के लिए कि उसने आरजीबी मूल्यों को एचएसबी में कैसे परिवर्तित किया। मैं समारोह में उन्होंने यह किया पता चला और मैं इसे अजगर को बदलने जब मैं यह अच्छा ट्रिपल नेस्ट त्रिगुट ऑपरेटर से टकरा की प्रक्रिया में था:कुछ हद तक दर्दनाक ट्रिपल-नेस्टेड टर्नरी ऑपरेटर
H = (C == 0 ? null :
V == r ? (g - b)/C :
V == g ? (b - r)/C + 2 :
(r - g)/C + 4
);
यह मुझे एक पाश के लिए फेंक दिया क्योंकि अजगर नहीं है जावास्क्रिप्ट करता है कि एक ही तरह का टर्नरी ऑपरेटर है। मैं थोड़ी देर के खर्च इस पर देख रही है और अंत में यह कुछ हद तक saner कोड टुकड़ों में बांटा (का उपयोग करते हुए केवल/else if) इससे बाहर:
if (C == 0) {
H = null;
} else {
if(V == r) {
H = (g - b)/C;
} else {
if(V == g) {
H = (b - r)/C + 2;
} else {
H = (r - g)/C + 4;
}
}
}
मेरी व्याख्या सही था? मैं केवल यह पूछ रहा हूं क्योंकि यदि यह सही नहीं है, तो मुझे डीबगिंग के लॉट का सामना करना पड़ रहा है। इसलिए। क्या मैंने इसे "प्राप्त किया"?
हां, ऐसा लगता है कि आपको कुछ पूंजीकरण विसंगतियों से अलग तर्क मिल गया है, –
'if (c == 0) 'पर पहला' सी' पूंजी 'सी' होना चाहिए, नहीं? –
हू, क्या मैंने किया? मुझे लगता है कि एक डार्टबोर्ड पर एक डार्ट फेंक दिया गया है, मेरे पीछे की ओर मेरी बाहों के पीछे बंधे हुए हैं, अंधाधुंध हो गए हैं, और एक बुलसेई बनाया है। और हाँ, @ निफ्टीडुड, यह सही है। पकड़ने के लिए धन्यवाद! –