问题标签 [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.
function - 在合金中使用谓词
我正在尝试使用另一个谓词(即 checkOverriding)的两个谓词(例如,methodsWiThSameParameters 和 methodsWiThSameReturn),但我收到以下错误:“没有要执行的命令”。有什么线索吗?我也尝试使用函数但没有成功,无论是由于语法还是函数不返回布尔值。
正如我在之前的一些问题中所评论的,它们是 Alloy 中指定的 java 元模型的一部分。
感谢您的回复,CM Sperberg-McQueen 先生,但我认为我的问题不够清楚。
我的谓词,比如 checkOverriding,是从这样的事实中调用的:
因此,我继续不理解错误:“没有要执行的命令”。
java - 在具有许多对象属性的列表中搜索对象
我有这个List<MyObject> list
。
MyObject
看起来像这样:
如何从list
哪里typeOfObject = "objectA"
获取对象anInteger = 1
?
value
我的目标是使用of设置许多变量MyObject
。
我看了看Predicate
,但似乎我的搜索条件只能基于一个属性?
c# - 具有多个谓词的 linq findall
在 C# 中,我有一个具有 name 和 surname 属性的对象,并创建了这些对象的列表,List<person>
.
我想List<person>
根据姓名和姓氏对其进行过滤,但是在列表中,有些人的姓氏可能为空,所以我想仅在名称不为空时过滤名称,仅在不为空时过滤姓氏.
我不能用 findall 来做,因为它只接受一个谓词
如何添加两个谓词?
c# - Is it possible to get an IQueryable<> back from an EF set when you apply a predicate?
It appears to return IEnumerable rather than IQueryable:
method parameter: Func<Cat, bool> predicate
code:
This doesn't compile because .Where
returns IEnumerable
instead of IQueryable
. I know I can do .AsQueryable
or whatever but I suspect that won't treat it as a proper IQueryable
.
Is there a simple fix for this?
c# - 是否可以将 Take()、Skip()、OrderBy() 等作为谓词传递给函数?
这是否可能以一种简单的方式进行,还是我应该添加跳过/采取作为参数?
javascript - 循环谓词中的赋值,是否需要括号?
这是 JavaScript 中的一个函数,用于替换节点的子节点
是否有任何需要将谓词编写为的 JS 实现
((child = node.firstChild))
?
c# - 为 (x => listOfInts.Contains(x.ListOfIntsToCheck)) 创建一个谓词构建器
我正在尝试构建一个谓词构建器,它返回一个谓词,该谓词检查一个整数列表是否包含另一个整数列表。到目前为止我有这个
T 是包含 ID 列表作为其属性之一的搜索对象。TProperty 是整数列表,属性是属性列表的名称。我得到的错误是
这是因为我是从静态方法调用它吗?还是我试图错误地访问 typeof(List) 上的方法?谢谢。
java - 过滤 MultiMap
Block 是一些代表类型的长期存在的实例,例如 A Minecraft BlockType Grass、green_wool 等。
我正在尝试找到一个可以有效存储和测试给定 BlockPattern 的 DataStructure(如果您熟悉 Minecraft,可以想像,黑曜石门户、Wither 等)但是如果您不熟悉,则能够创建一个可以测试一个给定的结构,该结构是由相对于被放置的块的给定 Vector3i 的块构建的。
Vector3i 表示给定谓词可以匹配的“块模式”中位置的整数向量。
例如,您可以有一个谓词来测试任意块属性“热度”,以测试火和熔岩的真实性。
因此,与其每次扫描整个模式以确保世界中的块位置与谓词匹配,我正在考虑扭转问题。
缓存一个块在多图模式中的潜在位置,并获取所有潜在位置,以限制之后发生的检查量。
所以我有一个Multimap<Predicate<Block>,Vector3i>
patternLookup 缓存。
表示允许在 BlockPattern 中找到块的潜在位置。
所以玩家放置了一个方块,我需要过滤多重地图,收集方块“允许”(谓词为真)所在的所有可能位置。
但是,作为一个优化步骤,我认为只测试具有潜在匹配的谓词(就身份而言)可能会更快。(三年后我不确定这个假设是否正确)
如何使用 guava 的功能特性过滤多图的内容以获取值的集合?(或者我最好只是迭代EntrySet
?)
例如
database - 查询 Realm 数据库以返回日期
我有一个领域数据库,我正在尝试返回日期。我的查询如下:
我遇到的问题是,当我测试时,我收到一条错误消息,指出“由于未捕获的异常‘无效值’而终止应用程序,原因:‘对象必须是日期类型’
我已经测试了我的两个变量 jobRestarted 和 testDate 以确保两个变量都是日期。我使用以下代码:
和
这两行代码都确认两个变量都是 NSDates。当两个变量都是日期时,为什么会出现此错误?
c# - 委托谓词的用处
下面的示例显示使用 apredicate
来评估硬编码值为 100000 的条件。无法向该FindPoints
方法添加其他参数,因为它会违反谓词参数约束。
这使使用谓词的价值受到质疑。显然 Lambda 解决了这个问题..但是,鉴于这个看似奇怪的约束,任何人都可以详细说明谓词在现实生活场景中的有用性。
如果他们不接受 T 以外的参数,为什么有人会使用谓词?
编辑:使用 Lambda 来做同样的事情,如下。
这是来自MSDN。这篇文章给出了很好的例子,但似乎没有解决我的问题。