終了関数の定義に関する質問。 私たちは入力の計算のために比較的簡単な関数を持っています。入力のloglog2 nです。 LOG2
Configuration: {[r, n] | Integers r ≥ 0 and n ≥ 1}
[r, n] -> [r + 1, n/2] if n > 1 ∧ n even
[r, n] -> [r, n − 1] if n > 1 ∧ n odd
私の教授は、クラス不変式に敬意を払って整形された状態を維持するアサーション(check_inv())を使用するのが適切かどうかを判断する練習をしました。 私はクラスinvariantをチェックする必要があるときは分かりませんが、私は彼のコンストラクタからオブジェクトを返す前にクラスの不変をチェックするのが良い練習であることを知っていますが、私は完全には分かりません。 これは試験のテキストです: i
エッフェルでは、タイプ「anchored declaration」を指定することができます。クラス内の関連する不変条件もアンカー宣言に適用された場合 私は疑問に思う: class C
feature
f: INTEGER
do
... Do something ...
end
g: like f
do
..
私は様々なNode.jsプロジェクトのソースを見てきましたが、一部の人々はinvariantを使用していることに気付きました。私が理解したところでは、invariantはコードにアサーションを入れ、必要に応じてエラーを発生させるツールです。 質問: にエラーに伝統的な方法を投げ対invariantを使用して有利に働きますか? // Using invariant
function doSomet