タグ付けされた質問 「predicate」

述語は、一連の基準を表し、これらの基準が満たされているかどうかを特定のオブジェクトに対して決定するメソッドです。コンピュータ言語では、述語は単一のオブジェクトを入力パラメータとして取り、ブール値を返す関数として表現されます。

12
メソッド参照述語を否定する方法
Java 8では、メソッド参照を使用してストリームをフィルタリングできます。次に例を示します。 Stream<String> s = ...; long emptyStrings = s.filter(String::isEmpty).count(); 既存のものを否定するメソッド参照を作成する方法はありますか? long nonEmptyStrings = s.filter(not(String::isEmpty)).count(); not以下のようなメソッドを作成することはできましたが、JDKが同様のものを提供しているかどうか疑問に思いました。 static <T> Predicate<T> not(Predicate<T> p) { return o -> !p.test(o); }
331 java  predicate  java-8  negate 

10
C#での述語デリゲート
説明していただけますか: 述語デリゲートとは何ですか? 述語はどこで使用すればよいですか? 述語を使用する際のベストプラクティスはありますか? 記述的なソースコードは高く評価されます。
256 c#  .net  predicate 

4
なぜPredicate <T>ではなくFunc <T、bool>なのですか?
これは好奇心の問いにすぎません。 .NET Frameworkクラスライブラリには、たとえば次の2つのメソッドがあります。 public static IQueryable&lt;TSource&gt; Where&lt;TSource&gt;( this IQueryable&lt;TSource&gt; source, Expression&lt;Func&lt;TSource, bool&gt;&gt; predicate ) public static IEnumerable&lt;TSource&gt; Where&lt;TSource&gt;( this IEnumerable&lt;TSource&gt; source, Func&lt;TSource, bool&gt; predicate ) Func&lt;TSource, bool&gt;代わりに使用するのはなぜPredicate&lt;TSource&gt;ですか?以下のように思えるPredicate&lt;TSource&gt;だけで使用されているList&lt;T&gt;とArray&lt;T&gt;、しばらくはFunc&lt;TSource, bool&gt;ほとんどすべてで使用されているQueryableとEnumerableメソッドと拡張メソッドそれに何次第ですか...?
210 c#  .net  predicate  func 

7
文字列を同等のLINQ式ツリーに変換する方法は?
これは、元の問題を簡略化したバージョンです。 Personというクラスがあります。 public class Person { public string Name { get; set; } public int Age { get; set; } public int Weight { get; set; } public DateTime FavouriteDay { get; set; } } ...そしてインスタンスを言うことができます: var bob = new Person { Name = "Bob", Age = 30, Weight = …
173 c#  lambda  antlr  dsl  predicate 

4
述語と一致するシーケンスの最初の要素を検索します
述語と一致するリストの最初の要素を見つける慣用的な方法が欲しい。 現在のコードはかなり醜いです: [x for x in seq if predicate(x)][0] 私はそれを次のように変更することを考えました: from itertools import dropwhile dropwhile(lambda x: not predicate(x), seq).next() しかし、もっとエレガントなものが必要です...そしてNone、一致が見つからない場合に例外を発生させるのではなく、値を返すのが良いでしょう。 私は次のような関数を定義できることを知っています: def get_first(predicate, seq): for i in seq: if predicate(i): return i return None しかし、すでに同じ機能を提供しているビルトインがある場合、このようなユーティリティ関数をコードに入力し始めることはまったく無意味です(そして、おそらくそれらがすでにそこにあることに気付かないため、時間の経過とともに繰り返される傾向があります)。
171 python  predicate 



4
Javaの述語
PredicateJava で使用するコードを調べています。使ったことがないPredicate。誰かが私をチュートリアルまたはPredicateJavaでの実装の概念的な説明に案内できますか?
100 java  guava  predicate 


8
Swiftでの述語の使用
私の最初のアプリのチュートリアル(Swiftの学習)を進めています。http: //www.appcoda.com/search-bar-tutorial-ios7/ 私はこの部分で立ち往生しています(Objective-Cコード): - (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope { NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"name contains[c] %@", searchText]; searchResults = [recipes filteredArrayUsingPredicate:resultPredicate]; } 誰かがSwiftでNSPredicateの同等物を作成する方法をアドバイスできますか?

6
CoreDataでBOOL述語を書く方法は?
タイプのBOOL属性があり、この属性がであるすべての管理対象オブジェクトを検索したいと思いますYES。 文字列属性の場合、それは簡単です。私は次のような述語を作成します: NSPredicate *predicate = [NSPredicate predicateWithFormat:@"userName = %@", userName]; しかし、selectedというbool属性があり、これの述語を作成したい場合、これを行うにはどうすればよいですか?私はこのようなことをすることができますか? NSPredicate *predicate = [NSPredicate predicateWithFormat:@"selected = %@", yesNumber]; または、他の形式指定子が必要で、渡すだけYESですか?


4
Javaでは、複数のオブジェクトにフィルターを適用する述語を作成できますか?
同じエンティティオブジェクトのリストをフィルタリングするために使用する述語があります。 Predicate&lt;DWHDeal&gt; companyFilter = i -&gt; i.getCompany().equals(company); 以前のエンティティに基づいてDTOSが構築されているDTOのリストに、まったく同じフィールドにまったく同じ条件で同じフィルターを適用する必要もあります。 Predicate&lt;DWHDealDTO&gt; companyFilterDTO = i -&gt; i.getCompany().equals(company); 2つの異なる述語をインスタンス化せずにこれを達成することは可能ですか?できれば1つだけで実現したいPredicateです。

4
negate()がPredicateへの明示的なキャストを必要とするのはなぜですか?
名前のリストがあります。3行目では、ラムダ式の結果をにキャストする必要がありましたPredicate&lt;String&gt;。私が読んでいる本は、コンパイラが一致する機能的インターフェースが何であるかを決定するのを助けるためにキャストが必要であることを説明しています。 ただし、を呼び出さないため、次の行ではそのようなキャストは必要ありませんnegate()。これはどのように違いますか?negate()ここでが返されることを理解していますPredicate&lt;String&gt;が、前のラムダ式は同じことをしませんか? List&lt;String&gt; names = new ArrayList&lt;&gt;(); //add various names here names.removeIf(((Predicate&lt;String&gt;) str -&gt; str.length() &lt;= 5).negate()); //cast required names.removeIf(((str -&gt; str.length() &lt;= 5))); //compiles without cast
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.