私はJavaが初めてで、Javaを使用して回路を設計する方法を理解しようとしています。このコードを見つけました:
アセットが使用される理由を誰かが説明できますか:
例を次に示します。
assert(list.length == 2);
ありがとう
assert
が前提です。つまり、メソッドは、実際にロジックを実行する前に、(2 つの引数で) 正しく呼び出されたことを確認しています。これは、コードが正しく使用されているかどうかを判断するための一般的なパターンです (あまり一般的ではないと私は主張します)。メソッドが有効な結果を返していることをアサートする事後条件も表示される場合があります (たとえば、notnull
または類似) 。
2 行目は、2 つの引数に対して AND アクション ( &&
) を実行します。つまり、必要な実際のロジックを実行します。
インターフェイスが複数の引数をゲート (複数の入力) に渡すことを許可していることに驚いていますが、メソッドは 2 つの引数しか使用しません。すべての引数を簡単にANDすることができます(この場合、アサーションを完全に回避できます)
assert(...) は、括弧内の式が true の場合、何もしないことを意味します。式が false の場合、エラーがスローされます。基本的に、false の場合は、この「ope」メソッドを呼び出している人に、与えられた入力が少なすぎるか多すぎることを示しています。
「and」ゲートは、まさにあなたが考えていることを行います。両方の入力が true の場合は true を返し、どちらかが false の場合は false を返します。return ステートメントは、予想どおり、2 つの入力に対して「and」(&&) 演算を実行するだけです。