可変数の引数を持つSetParams(...)
というC関数があります。この関数は、静的なデータ構造を設定します(Data
と名付けましょう)。 SetParams
は引数のペアとともに使用されます。Cで可変数のargsを持つ関数と設計指向の質問
Execute();
// uses data from static 'Data' and performs error_handling and execution
:すべての「パラメータ」が設定されている場合は、別の関数が呼び出された
e.g.
SetParams("paramA", paramA_value);
SetParams("paramB", paramB_value);
...
また、何度も呼び出すことができるなどSetParams("paramA", paramA_value, "paramB", paramB_value)
、それは何の引数を取りません(私たちはそれExecute
に名前を付けましょう)
私はこの種のコードをよりオブジェクト指向の方法で構造化できるかどうか疑問に思っていました。ですから、いくつかの組のargsが他のものと矛盾するかもしれないので、特にエラー処理のためのアドバイスをお願いしたいと思います。
あなたは正確に何をしようとしていますか?"SetParams"を何度も呼び出すだけでなく、結果をスタックにプッシュしてexecuteを呼び出す前に、スタックからすべてを取り出して使用する理由はありますか? – Goz
SetParamsは、シミュレーションの入力データを設定します。問題は、以前のものと矛盾するargペアがますます追加されることです。たとえば、誰かが次のことを行うことができます: SetParams( "Solve Method"、methodNameA、 "Param A"、10); ここで、 "Param A"はmethodNameAの変数で、次に: SetParams( "Solve Method"、methodNameB)です。ここで、methodNameBには "Param A"変数はありません。それは私がキャッチしたいエラーです。この関数は、スクリプトを使用してプログラマー以外から呼び出されます。私には何らかのスタック実装を使用することはできませんでした。私はそれを与えるだろう:)。ありがとうございました。 –