問題タブ [predicates]

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.

0 投票する
1 に答える
1050 参照

function - Alloy での述語の使用

別の述語 (つまり、checkOverriding) から 2 つの述語 (たとえば、methodsWiThSameParameters と MethodsWiThSameReturn) を使用しようとしていますが、「実行するコマンドがありません」というエラーが表示されます。手がかりはありますか?関数も使用しようとしましたが、構文または関数がブール値を返さないため、成功しませんでした。

以前の質問でコメントしたように、これらは Alloy で指定された Java メタモデルの一部です。


CM Sperberg-McQueen さん、ご回答ありがとうございます。しかし、私の質問は十分に明確ではなかったと思います。

私の述語、たとえば checkOverriding は、次のような事実から呼び出されています。

したがって、「実行するコマンドがありません」というエラーを理解していません。

0 投票する
2 に答える
3737 参照

c# - 複数の述語を持つlinq findall

C# では、名前と姓のプロパティを持つオブジェクトがあり、これらのオブジェクトのリストを作成しましたList<person>

List<person>名前と姓に基づいてこれをフィルター処理したいのですが、リストでは姓が null である可能性があるため、名前が null でない場合にのみ名前をフィルターし、null でない場合にのみ姓をフィルター処理したいと思います。 .

述語のみを受け入れるため、findallでは実行できません

2 つの述語を追加するにはどうすればよいですか?

0 投票する
2 に答える
63 参照

c# - 述語を適用するときに EF セットから IQueryable<> を取得することは可能ですか?

IQueryable ではなく IEnumerable を返すようです。

メソッドのパラメーター:Func<Cat, bool> predicate

コード:

の代わりに が.Where返されるため、これはコンパイルされません。私はできることは知っていますが、それはそれを適切なものとして扱わないのではないかと思います。IEnumerableIQueryable.AsQueryableIQueryable

これに対する簡単な修正はありますか?

0 投票する
1 に答える
462 参照

c# - Take()、Skip()、OrderBy() などを述語として関数に渡すことは可能ですか?

これは簡単な方法で可能ですか、それともパラメーターとしてスキップ/テイクを追加するだけですか?

0 投票する
1 に答える
443 参照

javascript - ループ述語での代入、括弧は必要ですか?

これは、ノードの子を置き換える JavaScript の関数です。

述語を次のように記述する必要がある JS 実装はありますか

((child = node.firstChild))?

0 投票する
1 に答える
902 参照

java - MultiMap をフィルタリングする

ブロックは、タイプを表す長寿命のインスタンスです。たとえば、Minecraft の BlockType 草、green_wool などです。

特定の BlockPattern を効率的に格納およびテストできる DataStructure を見つけようとしています (Minecraft に精通している場合は、黒曜石のポータル、ウィザーなどを考えてください)。配置されているブロックに関連する特定の Vector3i のブロックから構築されている特定の構造をテストします。

Vector3i は、特定の述語が一致する「ブロック パターン」内の場所の整数ベクトルを表します。

たとえば、任意のブロック プロパティ 'hotness' をテストする述語を作成して、火と溶岩の true をテストすることができます。

そのため、毎回パターン全体をスキャンして、世界のブロックの位置が述語と一致することを確認するのではなく、問題を逆にすることを考えていました。

ブロックがマルチマップのパターンにある可能性のある潜在的な位置をキャッシュし、後で発生するチェックの量を制限するために、すべての潜在的な位置を取得します。

だから私はMultimap<Predicate<Block>,Vector3i>patternLookupキャッシュを持っています。

これは、BlockPattern でブロックを見つけることができる潜在的な位置を表しています。

そのため、プレイヤーはブロックを配置します。マルチマップをフィルター処理して、ブロックが「許可されている」(述語 true) である可能性のあるすべての場所を収集する必要があります。

ただし、最適化のステップとして、(ID に関して) 一致する可能性のある述語のみをテストする方が速いのではないかと考えました。(3 年後、この仮定が正しいかどうかはわかりません)

グアバの機能を使用して、マルチマップのコンテンツをフィルタリングして値のコレクションを取得するにはどうすればよいですか? (または、単に繰り返し処理するほうがよいEntrySetですか?)

例えば

0 投票する
1 に答える
1592 参照

database - Realm データベースにクエリを実行して日付を返す

領域データベースがあり、日付を返そうとしています。私のクエリは次のとおりです。

私が得ている問題は、「キャッチされていない例外「無効な値」のためアプリを終了しています。理由:「オブジェクトは日付型である必要があります」というエラーが表示されることをテストすると発生します

2 つの変数 jobRestarted と testDate をテストして、両方の変数が日付であることを確認しました。次のコードを使用します。

コードの両方の行は、両方の変数が NSDates であることを確認します。両方の変数が日付の場合にこのエラーが発生するのはなぜですか?

0 投票する
1 に答える
123 参照

c# - 委任述語の有用性

以下のサンプルでは、​​a を使用してpredicate、ハードコードされた値 100000 の条件を評価しています。メソッドにパラメーターを追加する方法はありませんFindPoints。述語パラメーターの制約に違反するためです。

これにより、述語を使用する価値が疑問視されます。明らかに、ラムダはこの問題を解決します..しかし、それでもなお、この一見奇妙な制約を考えると、実際のシナリオでの述語の有用性について詳しく説明できる人はいますか?

T 以外のパラメーターを受け入れないのに、なぜ述語を使用するのでしょうか?

編集: 同じことを行うためのラムダの使用法を以下に示します。

これはMSDNからのものです。この記事は良い例を示していますが、私の質問には答えていないようです。