問題タブ [logic]
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.
c# - C# の論理順序とコンパイラの動作
C# では (他の言語については自由に回答してください)、ランタイムはどのような順序で論理ステートメントを評価しますか?
例:
ランタイムが最初に評価するステートメント -
また:
?
コンパイラがステートメントを逆方向に評価するときはありますか? おそらく、「OR」演算子が関係しているときですか?
& はビット単位の論理演算子として知られており、常にすべての部分式を評価します。
「短絡ブール値」の代わりにビットごとの演算子を使用する場合の良い例は何ですか?
c# - 変数が値の「リスト」からの値と等しいかどうかを判断する最も簡潔な方法
C# に、一連の変数の 1 つと等しいかどうかを確認するためにチェックする必要がある変数がある場合、これを行う最善の方法は何ですか?
セットを配列に格納するソリューションを探しているわけではありません。何らかの方法でブール論理を使用して答えを得るソリューションがあるかどうかを知りたいです。
私はこのようなことができることを知っています:
次のようなことがもっとできるかどうか知りたいです。
明らかに上記は機能しませんが、テスト値ごとに同じ変数を何度も繰り返さなければならない最初の例よりも簡潔なものがあるかどうかに興味があります。
更新:
最も単純なアプローチのように思われるため、CoreyN の回答を受け入れることにしました。実用的で、初心者でも簡単に理解できると思います。
残念ながら、私が勤務しているシステムは .NET 2.0 フレームワークを使用しており、すぐにアップグレードする可能性はありません。私が考えることができる最も明白なもの以外に、.NET 3.5フレームワークに依存しない他のソリューションはありますか?
logic - Verilog での 4 対 1 関数の効率的な合成
Veriog で 4 対 1 の関数を実装する必要があります。入力は 4 ビットで、0 ~ 15 の数値です。出力は 0 または 1 の単一ビットです。各入力は異なる出力を提供し、入力から出力へのマッピングは既知ですが、入力と出力自体は不明です。私はVCがコードをうまく最適化し、できるだけ短く/きちんとしたものにしたいと思っています。これまでの私の解決策:
c を宣言しなければならないのは見苦しく、vcs がそこで K マップを認識するかどうかはわかりません。これは、case ステートメントや接続法標準形の代入と同様に機能しますか?
testing - ラダーロジックのテスト
私たちは皆、オブジェクト指向システムをテストするさまざまな方法を知っています。ただし、PLC のラダー ロジックを扱うプロジェクトを行う予定のようです (聞かないでください:/)。システムの有効性をテストする良い方法があるかどうか疑問に思っていました。
私がこれまでに目にした唯一の方法は、システムのすべての既知の状態と生成される出力状態を含む巨大なテーブルを単純に構築することです。これは、単純な「入力 A がオンの場合、出力 B をオンにする」場合に適しています。ただし、これはより複雑な構造では機能しないと思います。
algorithm - 100万行を保持する容量を持つテーブルから使用されていないIDを見つけるための最良のアルゴリズムは何でしょうか?
詳しく説明すると.. a) テーブル (BIGTABLE) には、主キーを ID として 100 万行を保持する容量があります。(ランダムで一意) b) これまで使用されていない ID に到達するために使用できるアルゴリズム。この番号は、テーブル BIGTABLE に別の行を挿入するために使用されます。
詳細について質問を更新しました.. C) このテーブルにはすでに約 10 万行あり、主キーは ID として設定されていません。d) 現在、主キーとして乱数が生成され、このテーブルに行が挿入されます。挿入が失敗すると、別の乱数が生成されます。問題は、ループに陥ることがあり、生成される乱数はかなりランダムですが、残念ながら、それらは既にテーブルに存在します。したがって、しばらくしてから乱数生成番号を再試行すると、機能します。e) sybase rand() 関数を使用して乱数を生成します。
この質問への追加がいくつかの点を明確にするのに役立つことを願っています。
calendar - 定期的なタスクを論理的に整理する方法は?
定期的なタスクを作成する最良の方法は何ですか?
Linux の Cronjobs に似た特別な構文を作成して解析する必要がありますか?それとも、1 時間ごとに実行される cronjob を使用して、終わりのない繰り返しのタスクをさらに作成する必要がありますか?
無限に繰り返されるタスクと終了日を持つタスクを作成できることに注意してください。
scripting - Awk スクリプトのヘルプ - ロジックの問題
私は現在、" o' " に一致する文字列の Exim ログ ファイルを解析するための単純な .sh スクリプトを作成しています。現在、output.txt を表示すると、すべての行 (606 行) に 0 が出力されます。awk はエラーをスローしないため、私のロジックが間違っていると思います。
これが私のコードです(連結とカウンターの問題のために更新されました)。編集: dmckee の回答からいくつかの新しいコードを採用しました。これは、単純さを優先して古いコードよりも現在作業しています。
何か案は?
編集: わかりやすくするために、メール アドレスの「o」を検索しています。これは、「」はメール アドレスでは無効な文字であるためです (データベースでは、o' がプレフィックスされた名前でのみ表示されます)。
編集 2: コメントの要求に従って、ここにいくつかの望ましい出力のサニタイズされたサンプルがあります:
ループで 20 から開始する理由は、20 番目のフィールドより前のすべてが標準のログ情報であり、ここでの目的には必要ないためです。このソリューションに必要なのは、IP とそれ以降のすべてです (各 550 エラーのメッセージは、使用されているメール サーバーごとに異なります。一般的なもののリストを編集しています)。
time - 状態と時間を超越するロジックとプログラム フロー?
いくつかの参照キーを使用して、アプリケーションのすべての可能な状態にインデックスを付けることが役立つかどうか疑問に思っています...
つまり、プログラムが開始され、考えられる結果が非常に多く、たとえば 8 つしかないとします。
ただし、各結果がさらに多くの論理状態をステップ実行することによって達成され、各分岐の間が状態と見なされ、キーにマップされる場合。
大規模なプログラムでは大量のメモリが必要になる可能性がありますが、キーに直接アクセスできれば (キーは時間またはロジックの深さに基づいている可能性があります)、プロセス全体を開始することなく、考えられる状況を即座にトラバースできます。新しいデータでもう一度。
子を持たないノードが最終的な結果であり、ノードとその親または子の間のすべてのブランチが「状態」であり、それぞれが異なるキーを持つツリーのように考えてください。したがって、プロセスの最終的な結果である葉は 8 つしかありませんが、子がなくなる前にロジックがツリーをどれだけ深く下っていくかに応じて、多くの「状態」が存在する可能性があります。
シミュレーション用かもしれませんが、大量のメモリが必要です。
sql - 施設テーブルからあまり使用されていない開始日と終了日を選択する
私は DB2 を使用していますが、SQL の任意のフレーバーを使用するソリューションは、変換するのに十分簡単です。
このデータベースやデータベースを使用するアプリケーションを設計したのではありません。このアプリケーション、その動作、またはデータを変更する権限はありません。開始日と終了日の従来の使用法とは異なるため、特定の時点の選択のような単純なものを書くのに苦労しています。
表の関連/編集部分は次のとおりです。
私が返したいのは、2005 年 7 月 1 日に有効なレコードです。
副選択を避けようとしていますが、必要な場合があることを理解しています。副選択が必要な場合は、1 つに制限したいと思います。開始日と終了日の間を検索しても、終了日が null のレコードが 1 つしかない施設は返されないため、機能しません。OR 条件を追加して null の終了日を含めると、場合によっては複数のレコードが返されることがあります。この問題はサービス上では非常に単純に見えるため、ばかばかしいほど明白な解決策を見逃しているに違いありません。誰にもアイデアはありますか?
c# - 簡単なルールを探しています-.NETのエンジンライブラリ
優れた.NETライブラリルールライブラリ(理想的にはオープンソース)を知っている人はいますか?ネストされた論理式を実行できるものが必要です。たとえば、(A AND B)AND(B OR C OR D)です。オブジェクトのプロパティを比較する必要があります(例:A.P1とB.P1)。(理想的には、任意のプロパティ(A.P1とB.P2)を比較できます)。
ルールをデータベースに保存する必要があります(単純な構成可能なロジックがたくさんあります)。また、ルール作成/管理APIが必要です。管理ツールは、インスタンスを検査して、使用可能なプロパティと存在する制約を判別する必要があります。
ありがとう!
ああ、もう一つ。ルールエンジンとして、アクション(コマンド)の概念を含める必要があります。これらは、式が返されるときに実行されるものです。
したがって、ルールは次のようになります。