Graphs 用の優れた一般的/汎用的なADTがあるように。
「真理値表」の何かがありますか? 既に真理値表を実装しているプロジェクトから「クラス」定義を見つけようとしています。
そうでない場合、(一般的な) 真理値表 ADT をどのように設計しますか?
更新:コメントで提案されているように、ここに私が思いついたものがあります:
- 行の追加 (削除):
TruthTable.add(input,output)
(追加される最初の行は、入力と出力の長さ (ビット単位) を抽出するために使用されます。後続のすべての行の追加は、これに対して検証されます。)TruthTable.delete(input)
- 指定された入力の出力 (画像) を取得する:
TruthTable.output(input)
またはTruthTable.image(input)
- すべての入力を取得します:
TruthTable.inputs
(オドメーターの順序。) - すべての出力を取得:
TruthTable.outputs
(入力の順序または走行距離の順序に従って順序付けしますか?) - テーブルが完全に指定されているかどうか、つまり 2 nのすべての可能な入力に対して出力が指定されているかどうかを確認します。
TruthTable.completely_specified?
その他の特殊な操作は次のとおりです。
- 真理値表が可逆かどうかを確認します。
TruthTable.invertible?
- 2 つのテーブルが等しいかどうかを確認します。
TT1 ==? TT2
(プログラミング言語でメソッド名が '?' で終わることを許可してほしいと思うことがあります。 を返すメソッドの名前についてBool
)