問題タブ [invariants]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
921 参照

oop - OOPの場合、不変と不変は同義ですか?

OOPの場合、不変と不変は同義ですか?

微妙に違いがあるような気がしますが、よくわかりません。

通常、不変はオブジェクトに適用され、不変は通常、属性/値に適用されると思います。

どちらの場合も、オブジェクトまたは変数は変更されず「真」のままであるため、非常に似ているように見えます。

これらの用語の理解の精度を向上させようとしているので、フィードバックをお寄せいただきありがとうございます。微妙な違いを見落としていると思います。

0 投票する
1 に答える
1053 参照

matlab - 不変特性を持つラドン変換を計算する方法

私は、科学論文「深さのシルエットによる人間の家の活動の認識とスマートホームのR変換」に書かれているように、次のように計算されるR変換を実行しようとしています。

ここに画像の説明を入力してください

どこ

ここに画像の説明を入力してください

Matlabでは、次のようにラドン変換を実行します。

次に、この記事の記述に従って、すべての角度(Rの列)に対して、ラドン変換値の2乗(列を設定するとRの行にある)を追加してR変換を計算します。 。ただし、各列のこの合計は同じです。私はどこが間違っていますか?

ご協力ありがとうございました。

0 投票する
1 に答える
404 参照

python - 入力パラメータ以外の変数を含む PyContract PostCondition

願わくば、これがシリーズの最後の質問になることを願っています (要件が変わらない限り、私のプロジェクトはもうすぐ終わります)。

私はPyContract ( PyContractsではありません) を使用して、クラス メソッドのいくつかの制約を作成する作業を行っています。私の関数の 1 つに、不変式があります。ただし、この事後条件を構成するすべての変数が関数への入力パラメーターであるとは限りません。一部は、関数自体のスコープにローカルな変数です (ループ カウンターなど)。契約の事後条件句でそれらをキャプチャするにはどうすればよいですか?

これは、私が取り組んできたコードの MWE です。

問題は、PyContract が名前garg5. コントラクトでに変更arg5kwargs['arg5']ましたが、PyContract はまだ何なのかわかりませんg。この問題を解決するにはどうすればよいですか?

私が得るエラーは次のとおりです。

次のように事後条件宣言に追加gしても役に立ちません。

さらに、不変チェックのコードがまったく実行されていないように見えるのは興味深いことです。

0 投票する
1 に答える
598 参照

object - OCL 要件: 属性値の可能な範囲の不変

したがって、次のオブジェクト構造があります。

すべての Node オブジェクトの RSSI 値の差が 2 を超えないという要件のために、OCL 不変式を作成する必要があります。反復式で解決しようとしましたが、OCL の変数を実際に使用して現在の値を格納することはできないためです。最大値と最小値(または少なくともその方法を知らない)私はそれを行う方法がわかりません。誰でもそれで私を助けることができますか?

0 投票する
4 に答える
179 参照

objective-c - Objective-Cでrep不変量を維持する

私はObjective-Cを初めて使用し、例外が実際にはそれらを強制する適切な方法ではないことを考えると、クラスのrep不変条件を維持するための最良の方法を理解しようとしています。これが発生する良い例は、次のセッターメソッドを持つKochanのObjective-CでのプログラミングFractionの例として機能するクラスです。

したがって、担当者の不変の要求の一部を言いますself.denominator != 0。たとえば、Javaでは、その不変条件を強制する最も簡単な方法はIllegalArgumentException、0が渡された場合にifをスローすることですが、Objective-Cではそれは意味がありません。別の方法は、問題を報告するためにポインタ引数を追加するNSError**ことですが、それはやり過ぎであり、抽象化の性質に適していないようです-たとえば、データベース接続とは異なり、ゼロは期待していません通常の使用で発生する分母の割合。では、ここで最もクリーンなソリューションは何ですか?整数のエラーコードを返しますか?私が見逃している他の何か?

0 投票する
4 に答える
383 参照

c++ - 前提条件は通常、不変条件と重複しますか?

両者の区別がつかなくて困っています。通常は重複しない場合、どのように違うのですか? 前提条件であるが不変条件ではないものの例は何ですか?

0 投票する
0 に答える
133 参照

c# - コードコントラクト-不変条件は書き直されません

コードコントラクトでVS2010Ultimateを使用しています。予期しないランタイム動作が発生した後、リフレクターでソースコードを確認し、不変条件がコンパイルされていないことに気付きました。生成された__ContractsRuntimeクラスには、、、、およびの定義のみがAssert含まれます。すべての句に対して、タイプごとに1つ以上のプライベートメソッドを使用しています。組み立てモードとして設定された「標準契約が必要」で完全な契約チェックを行っています。 EnsuresReportFailureRequires<TException>TriggerFailure[ContractInvariantMethodAttribute]Contract.Invariant(...)

私のアセンブリファイルには、次のアセンブリ属性が含まれています。

誰かがこの問題や、私の不変条件が期待どおりに機能しない理由についての洞察を持っていますか?

0 投票する
0 に答える
504 参照

loops - ループ不変条件を使用したアルゴリズムの正確性

ループ不変条件を使用して、以下のアルゴリズムの正確性を証明する必要があります。配列として表される 2 つの数値 (逆順: 1579 -> [9 7 5 1] ) を取り、それらの乗算を処理し、結果を配列として返します。

このアルゴリズムに対してループ不変条件が何をすべきかがよくわかりません。前もって感謝します!

0 投票する
1 に答える
87 参照

compiler-construction - コンパイラ試験の説明

コンパイラー試験の準備をしていますが、過去の論文で次の 2 つの質問に答えられないことがわかりました。

不変変数と帰納変数が何を意味するかは知っていますが、これら 2 つの解決策を説明することに関して、私に何が期待されているかはよくわかりません。

誰かが説明を手伝ってくれたら幸いです。

ありがとう!

0 投票する
1 に答える
1936 参照

proof - ループ不変条件とアルゴリズムの証明

ループ不変条件を取得し、次のアルゴリズムでそれを証明するにはどうすればよいですか。