Pythonで回路図描画ツールを書こうとしています。すべてのコンポーネントとそのプロパティを保持する辞書に基づいて単純なデータベースを作成しています。また、たとえば、値> 100オームまたはフットプリント= '0402'のすべての抵抗器を選択できる単純なクエリ言語を作成しようとしています
これまでのところ、いくつかの基本的な述語検索を使用して物事を選択し、その後、より複雑なものを結合および交差させることができます。
ただし、純粋に否定的な検索のセマンティクスがどうあるべきかを定義するのに苦労しています。たとえば、次のようなもの
フットプリント!= '0402'
フットプリントが 0402 と等しくないすべてのアイテムを選択する必要があります。しかし、交差のみでこれを行うと、空白の結果が得られます。これを機能させるには、すべてのコンポーネントを選択し、「not 0402」と交差して不要なものを削除する必要があります。
しかし、これは一種のブルート フォースのようであり、怪しげな解決策のように思えます。「本物の」データベースとクエリ言語を使用することに興味がないので、それを提案しないでください。ここで適切な工学的根拠を探していますが、必ずしも問題の回避策ではありません。
この問題は SICP の本である程度カバーされていましたが、私は非常に混乱しました。なぜなら、彼らは継続なども使用していたと思うからです。
否定的なものを選択するための「適切な」使用法を説明してください。これを市販のCADツールで試してみたところ、期待どおりに機能しましたが、最初に物を選択してから不要なものを削除したSQLクエリの例(と思います)を見てきました。
ありがとう
マイケル