私はこのhttps://developer.mozilla.org/en/Canvas_tutorial/Basic_animationsClo ckチュートリアルを練習しています。コード内のすべてが私には明らかです。これを受け入れるhr = hr>=12 ? hr-12 : hr;
のは私にはわかりません。if else
それは声明かもしれません。
このコードが何をしているのか説明できますか?
ありがとう :)
私はこのhttps://developer.mozilla.org/en/Canvas_tutorial/Basic_animationsClo ckチュートリアルを練習しています。コード内のすべてが私には明らかです。これを受け入れるhr = hr>=12 ? hr-12 : hr;
のは私にはわかりません。if else
それは声明かもしれません。
このコードが何をしているのか説明できますか?
ありがとう :)
これは三項演算子(?:)
です。ここで行われていることの簡単な説明は次のとおりです。
if(hr>=12)
{
hr=hr-12;
}
//or else hr will have its same value
その呼ばれる三項演算
その意味は
if(hr>=12)
hr=hr-12;
else
hr=hr;
以下で十分です
if(hr>=12)
hr=hr-12;
if (hr >= 12) {
hr = hr - 12;
}
hr
その基準を満たさない場合は、hr
事実上手つかずのままにしておく必要があります。
これは、次の形式の三項演算子です。
condition ? if_true | if_false
読みやすくするために角かっこを追加すると、次のようになります。
hr = ( (hr >= 12) ? (hr - 12) : hr )
つまり、12を超える場合は、12を減算し、hrに戻します。
hr= hr>=12 ? hr-12 : hr;
と同じですif( hr >= 12 ) hr = hr-12 else hr = hr;
thebool ? expr_a : expr_b
は、bool
trueの場合、expr_aが評価され、その値がexprの値全体として使用される演算子です。それ以外の場合、expr_bはになります。
その意味は:
if(hr>=12)
{
hr = hr - 12;
}
一般的:
x= condition ? y : z
条件が真の場合x = y
、それ以外の場合x = z
これと同じ効果があります:
hr %= 12; //equivalent to -> hr = hr>=12 ? hr-12 : hr;
三項演算子と呼ばれます。