今日から Dart の学習を始めましたが、私の Google スキルでは見つけにくいものに出会いました。
空でないケースでフォールスルーを行うにはどうすればよいですか?
私の使用例は次のとおりです。私は sprintf の実装を書いています (dart にはこれもありません)。変数の型を解析する場合、たとえば、"%x" と "%X" を比較することができます。大文字の型は、出力が大文字であることをフォーマッタに伝えます。
準擬似コードは次のようになります。
bool is_upper = false;
switch (getType()) {
case 'X':
is_upper = true;
case 'x':
return formatHex(is_upper);
}
これを行うことを考えることができる他の方法は、次のいずれかになります
1:
switch (getType()) {
case 'X': case 'x':
return formatHex('X' == getType());
}
2:
var type = getType();
if (type in ['x', 'X']) {
return formatHex('X' == getType());
}
さて、2 番目の選択肢はほとんど問題ないように見えますが、11 のケースがあることを覚えておく必要があります。これは、 eleven を持つことを意味しif (type in [])
ます。
それで、ダーツには// //$FALL-THROUGH$
私が知らないものがありますか?
ありがとう。