さんのソース コードを調べRaphael.js
て、RGB 値を HSB に変換する方法を調べました。私は彼がそれを行った関数を見つけ、それを Python に変換している最中に、この素敵な 3 重にネストされた三項演算子に出くわしました。
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;
}
}
}
私の解釈は正しかったですか?私がこれを尋ねているのは、それが正しくない場合、多くのデバッグに直面するからです。そう。「わかった」の?