ファイルを上書きする方法を決定するために「ユーザーオプション」をサポートする必要があるプログラムがあります。ユーザーは「オプション」から選択できます。これにより、いくつかの組み合わせが可能になり、可能なすべての「IF ... ELSEステートメント」をコーディングするのが難しくなります。 、この複雑な結果評価はコーディングするのが難しく、長くなりすぎて気が狂いそうになります!
私はこれをある種の「解析」で解決して、可能なすべての結果をより速く、より有機的な方法で評価し、IF ... ELSE ブロックの長いチェーンを使用しないようにしています。
これが私のプログラムオプションにあるものです:
例: ユーザーがファイルの上書きを選択し、オプション「ファイル サイズ」を選択し、このオプションの基準として ">=" を選択し、さらに「ファイル日付」と「<=」を選択し、「OR」を選択したとします。すべてのオプションを選択すると、「FILE >= x」または「FILE DATE <= x」のような結果になります。
上記のスクリーン ショットのオプションを使用すると、ユーザーはあらゆる種類の可能な論理オプションを作成し、"OR" と "AND" を使用してそれらを組み合わせることができます。また、">、<、>=、<=、=、<> を選択することもできます。 "。
この小さな画面の背後にある複雑さは非常に大きく、私はこれに取り組む方法を研究してきました.ラムダ式とバイナリツリーと呼ばれるものについて聞いたことがありますが、それが私の問題に当てはまるかどうかはわかりません.少なくとも誰かが私を正しい方向に向けてくれます。答えを探し回るときに「問題」を正しく分類する方法さえわかりません:)
よろしくお願いします!