ブール比較と「iflet」ステートメントをきれいに組み合わせるにはどうすればよいですか?

ランドール・ロビンソン

ブール値の比較に依存する関数を作成し、「iflet」構文を使用して列挙型の型をチェックしています。私が以下に持っているものよりもきれいな方法はありますか?

fn is_mine(&self, row: i32, col: i32) -> bool {
    if self.bounds.is_in_bounds(row, col) {
        if let MineCell::Mine = self.field[row as usize][col as usize] {
            return true;
        }
    }

    false
}

これは機能しますが、 'if'ブロック内の唯一のステートメントとしてtrue / falseを返すことにより、汚れた感じがします。私の場合、.is_in_bounds()メンバーのブール比較を最初に実行するif let必要があり、次に列挙型のタイプのチェックを安全に実行できます。

これは技術的には正しいですが、これを行うにはもっと慣用的な方法が必要だと思います。if letステートメントを適切にスタックする方法についての投稿をここや他の場所で見ましたが、ブール比較とif let比較の混合については何もありません

上記のコードの正しいが醜い形式を受け入れる必要がありますか?

ジャスティナス

列挙型が実装されている場合PartialEq、これも機能するはずです。

fn is_mine(&self, row: i32, col: i32) -> bool {
    self.bounds.is_in_bounds(row, col)
        && self.field[row as usize][col as usize] == MineCell::Mine
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Big Queryテーブルリストを組み合わせるにはどうすればよいですか?

分類Dev

IFステートメントをIF(OR)ステートメントと組み合わせるにはどうすればよいですか?

分類Dev

「ifステートメント」をモナークの日付と組み合わせて使用するにはどうすればよいですか?

分類Dev

T-SQL: 複数行のコードを if ステートメントと組み合わせるにはどうすればよいですか

分類Dev

Laravelと複数のテーブルを組み合わせるにはどうすればよいですか?

分類Dev

2つのテーブルの列と条件ステートメントによって作成されたエイリアスを組み合わせるにはどうすればよいですか?

分類Dev

これらの2つのwhileステートメントを1つに組み合わせるにはどうすればよいですか?

分類Dev

AutoHotKey-IFステートメントでキーの組み合わせを使用するにはどうすればよいですか?

分類Dev

DockerfileでENVステートメントを組み合わせるにはどうすればよいですか?

分類Dev

Excelで2つのIFステートメントを組み合わせるにはどうすればよいですか?

分類Dev

Ruby on RailsでJSONを作成するときに、2つのテーブルの情報を組み合わせるにはどうすればよいですか?

分類Dev

3つのテーブル(MySQL)を組み合わせるにはどうすればよいですか?

分類Dev

新しい変数をエクスポートするときに変数名を組み合わせるにはどうすればよいですか?

分類Dev

テキストにカーソルを合わせたときにのみ料金所を表示するにはどうすればよいですか?

分類Dev

ユニオンを使用するときに、列数が異なるSELECTステートメントを組み合わせるにはどうすればよいですか?

分類Dev

ポアソン回帰でグループを組み合わせてコントラストを推定するにはどうすればよいですか?

分類Dev

rowidをテーブルと同じrowtypeのコレクションに組み合わせるにはどうすればよいですか?

分類Dev

シングルトンパターンを依存性注入と組み合わせて使用するにはどうすればよいですか?

分類Dev

非型テンプレートパラメーターと型テンプレートパラメーターを組み合わせて関数をテンプレート化するにはどうすればよいですか?

分類Dev

テンプレートと組み合わせてバイナリ算術演算子を使用するにはどうすればよいですか?

分類Dev

ループしてテキストビューを組み合わせるにはどうすればよいですか?

分類Dev

PLPGSQLでWITHをFORループと組み合わせて使用するにはどうすればよいですか?

分類Dev

onFrameでアニメーションを組み合わせるにはどうすればよいですか?

分類Dev

複数の同じ機能クラス(コントローラー)を、データオブジェクトをパラメーターとして受け取る1つに組み合わせるにはどうすればよいですか?

分類Dev

パイプでつながれた一連のgrepステートメントを1つのgrepステートメントに組み合わせるにはどうすればよいですか?

分類Dev

パイプでつながれた一連のgrepステートメントを1つのgrepステートメントに組み合わせるにはどうすればよいですか?

分類Dev

テキストのサイズ変更とフッターの太字を組み合わせるにはどうすればよいですか?

分類Dev

テンプレート参照変数をngIfと組み合わせるにはどうすればよいですか?

分類Dev

テンプレート参照変数をngIfと組み合わせるにはどうすればよいですか?

Related 関連記事

  1. 1

    Big Queryテーブルリストを組み合わせるにはどうすればよいですか?

  2. 2

    IFステートメントをIF(OR)ステートメントと組み合わせるにはどうすればよいですか?

  3. 3

    「ifステートメント」をモナークの日付と組み合わせて使用するにはどうすればよいですか?

  4. 4

    T-SQL: 複数行のコードを if ステートメントと組み合わせるにはどうすればよいですか

  5. 5

    Laravelと複数のテーブルを組み合わせるにはどうすればよいですか?

  6. 6

    2つのテーブルの列と条件ステートメントによって作成されたエイリアスを組み合わせるにはどうすればよいですか?

  7. 7

    これらの2つのwhileステートメントを1つに組み合わせるにはどうすればよいですか?

  8. 8

    AutoHotKey-IFステートメントでキーの組み合わせを使用するにはどうすればよいですか?

  9. 9

    DockerfileでENVステートメントを組み合わせるにはどうすればよいですか?

  10. 10

    Excelで2つのIFステートメントを組み合わせるにはどうすればよいですか?

  11. 11

    Ruby on RailsでJSONを作成するときに、2つのテーブルの情報を組み合わせるにはどうすればよいですか?

  12. 12

    3つのテーブル(MySQL)を組み合わせるにはどうすればよいですか?

  13. 13

    新しい変数をエクスポートするときに変数名を組み合わせるにはどうすればよいですか?

  14. 14

    テキストにカーソルを合わせたときにのみ料金所を表示するにはどうすればよいですか?

  15. 15

    ユニオンを使用するときに、列数が異なるSELECTステートメントを組み合わせるにはどうすればよいですか?

  16. 16

    ポアソン回帰でグループを組み合わせてコントラストを推定するにはどうすればよいですか?

  17. 17

    rowidをテーブルと同じrowtypeのコレクションに組み合わせるにはどうすればよいですか?

  18. 18

    シングルトンパターンを依存性注入と組み合わせて使用するにはどうすればよいですか?

  19. 19

    非型テンプレートパラメーターと型テンプレートパラメーターを組み合わせて関数をテンプレート化するにはどうすればよいですか?

  20. 20

    テンプレートと組み合わせてバイナリ算術演算子を使用するにはどうすればよいですか?

  21. 21

    ループしてテキストビューを組み合わせるにはどうすればよいですか?

  22. 22

    PLPGSQLでWITHをFORループと組み合わせて使用するにはどうすればよいですか?

  23. 23

    onFrameでアニメーションを組み合わせるにはどうすればよいですか?

  24. 24

    複数の同じ機能クラス(コントローラー)を、データオブジェクトをパラメーターとして受け取る1つに組み合わせるにはどうすればよいですか?

  25. 25

    パイプでつながれた一連のgrepステートメントを1つのgrepステートメントに組み合わせるにはどうすればよいですか?

  26. 26

    パイプでつながれた一連のgrepステートメントを1つのgrepステートメントに組み合わせるにはどうすればよいですか?

  27. 27

    テキストのサイズ変更とフッターの太字を組み合わせるにはどうすればよいですか?

  28. 28

    テンプレート参照変数をngIfと組み合わせるにはどうすればよいですか?

  29. 29

    テンプレート参照変数をngIfと組み合わせるにはどうすればよいですか?

ホットタグ

アーカイブ