我查看Raphael.js
了他的源代码以了解他如何将 RGB 值转换为 HSB。我发现了他所做的函数,当我遇到这个漂亮的三元嵌套三元运算符时,我正在将其转换为 Python:
H = (C == 0 ? null :
V == r ? (g - b) / C :
V == g ? (b - r) / C + 2 :
(r - g) / C + 4
);
它让我陷入了一个循环,因为 Python 没有与 Javascript 相同的三元运算符。我花了一段时间查看它,最终将这个更理智的代码(仅使用 if/else)从其中散列出来:
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;
}
}
}
我的解释正确吗?我只是问这个,因为如果它不正确,我将面临很多调试。所以。我“明白”了吗?