missing_variable_pattern
論理和パターン ({0} 変数) がこの分岐にありません。
説明
#アナライザーは、論理和パターンのある分岐で、同じパターンの別の分岐で宣言されている変数が宣言されていない場合に、この診断を生成します。
例
#以下のコードは、論理和パターンの右辺で変数 a が宣言されていないため、この診断を生成します。
dart
void f((int, int) r) {
if (r case (var a, 0) || (0, _)) {
print(a);
}
}一般的な修正
#制御ステートメントで変数を参照する必要がある場合は、論理和パターンのすべての分岐に変数の宣言を追加してください。
dart
void f((int, int) r) {
if (r case (var a, 0) || (0, var a)) {
print(a);
}
}制御ステートメントで変数を参照する必要がない場合は、論理和パターンのすべての分岐から変数の宣言を削除してください。
dart
void f((int, int) r) {
if (r case (_, 0) || (0, _)) {
print('found a zero');
}
}パターンのある分岐が一致する場合にのみ変数を参照する必要があり、別の分岐が一致する場合には参照する必要がない場合は、パターンを 2 つに分割してください。
dart
void f((int, int) r) {
switch (r) {
case (var a, 0):
print(a);
case (0, _):
print('found a zero');
}
}