问题标签 [predicate]

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 回答
929 浏览

c# - 如何使用谓词实现匹配算法?

我了解如何使用委托,并且可以使用 lambda 表达式来使用谓词。我已经到了想要实现一个使用谓词作为参数的方法并且无法弄清楚如何引用谓词以在我的集合中查找匹配项的地步:

然后我想使用类似的东西来引用它:

如果有人可以给我一个解释或指向我关于谓词实现的参考,我将不胜感激。那里的文档似乎都与传递谓词有关(我可以做得很好),而不是实际实现使用它们的功能......

谢谢

0 投票
3 回答
270 浏览

c++ - 为模板类型确定正确谓词的方法

假设我有一个看起来像这样的函数:

我希望这个函数调用另一个接受谓词的函数。我最初的直觉是做这样的事情:

但是有一个问题,如果InIn2是不同类型的迭代器怎么办?例如,char*int*. 根据哪个是In和哪个是In2谓词,可能会在比较期间截断值。例如,即使is an也会调用if Inis char*then 。std::less<char>In2int*

::operator<给定两个参数时,编译器能够推断出正确的类型并应用标准类型提升规则。但是,在选择将谓词传递到函数时,没有透明度才能实现这一点。有没有一些聪明的方法可以根据and确定我想通过哪个版本?std::less<>InIn2

编辑:

下面的例子说明了这个问题:

将输出:

编辑

想了想,我真正想要的是能够做到这样的事情:

我想我可以使用 gcc 的__typeof__扩展...,但我也不喜欢这个想法。有什么方法可以以符合标准的方式获得这种净效果?

0 投票
4 回答
13053 浏览

artificial-intelligence - 如何用 Java 或 C# 等语言实现统一算法?

我正在阅读我得到的 AI 教科书,我已经来到了我的部分的最后一个作业问题:

“以您选择的任何语言实施第 69 页概述的统一算法。”

在第 69 页,您有以下统一算法的伪代码:

现在,我了解了统一的一般概念,但我完全不知道如何开始用 Java 或 C# 之类的语言来实现它。

我什至不确定方法签名会是什么样子。它需要什么类型的变量?我相当确定我需要返回列表来表示谓词演算结构,但这是一个猜测。

例如,当它说“E1 是一个变量”时,如果我将它传递给 Unify 方法,它怎么可能不是呢?我可以检查 null 但这会与“空列表”不同吗?

谁能帮助我或指出正确的方向以在 C# 或 Java 中实现 Unificaiton 算法?

0 投票
9 回答
2395 浏览

c++ - 使用 STL/Boost 查找和修改向量中的匹配元素

假设我有一个这样声明的向量:

现在,我想找到共享相同a的v的所有元素,并平均它们的b,即

假设 v 包含这五个元素 {a, b}:{1, 1}, {1, 2}, {2, 1}, {1, 3}, {2, 2}

我想得到 v[0]、v[1]、v[3](其中 a 为 1)和平均 b:(1 + 2 + 3)/3 = 2,以及 v[2] 和 v[4] (其中 a 为 2)和平均 b:(1+2)/2 = 1.5

之后 v 将如下所示:{1, 2}, {1, 2}, {2, 1.5}, {1, 2}, {2, 1.5}

我不太熟悉 STL 或 Boost,所以我只能弄清楚如何在 C++ 中以“蛮力”方式做到这一点,但我猜 STL(for_each?)和 Boost(lambda?)库可以解决这个问题更优雅。

编辑仅供参考,这是我的(工作)蛮力方法:

0 投票
1 回答
304 浏览

cocoa - NSPredicateEditor 和关系

我已经看到,在具有关系的查询中工作的每个谓词在开头都包含单词 ANY 或 ALL(即:ANY tags.name LIKE[c] "car"),事实是,如果我删除它(即: tags.name LIKE[c] "car"),结果错误或者我收到这样的消息:Can't do regex matching on object。

由于我使用的是 NSPredicateEditor,它们不是启动我的查询的任何或全部,所以它总是失败。返回的谓词总是像第二个例子(不是 ANY 或 ALL)。

我是否必须继承 NSPredicateRowTemplateEditor,以便在我的谓词中添加自己的 ANY 或 ALL,或者是他们的另一种方式?

与日期相同...我的日期以这种格式保存:YYYY-MM-DD HH:mm:ss,但是 NSPredicateEditor 使用 DD/MM/YYYY,所以每次我尝试日期比较时,它都不起作用. 为了更改日期格式,我是否还必须继承 RowEditor?

谢谢你。

0 投票
5 回答
476 浏览

.net - 是谓词在 .NET 3.0+ 中不可用

Predicate 在 .NET 中的任何地方都可用吗?从 MSDN http://msdn.microsoft.com/en-us/library/bfcke1bz.aspx,我在任何地方都看不到谓词。我看到一个匿名返回布尔值但没有泛型或“谓词”关键字。

0 投票
1 回答
797 浏览

objective-c - 通过使用 NSMetadataQuery 构造 NSPredicate 来查找具有聚光灯的不可见文件夹

我正在构建一个 NSmetaDataQuery 来查找不可见的文件夹(如“.myInvisibleFolder”)。

不幸的是,Spotlight 似乎没有定位以“.”开头的文件夹,即使在谓词中特别包含时也是如此。

什么有效,什么无效

搜索任何不可见的文件名都有效。

搜索内容有效 (kMDItemTextContent)。

没有以“.”开头的文件 永远被发现。总是返回 0 个结果。

作为一项测试,在 Finder 中搜索不可见的内容是可行的。

我究竟做错了什么?还有其他方法可以找到不可见的文件夹吗?

代码:

0 投票
4 回答
21793 浏览

c# - 将 C# Count() 与函数一起使用

我试图通过使用带有谓词的 Linq 来计算数组的最大值出现在数组中的次数。.Count()但是,我不完全了解如何做到这一点。通过阅读 MSDN 的少量示例,我以为我理解了,但显然不是!

这是我想到的:

但这没有用。所以我尝试将max更改为整数以查看是否可行,但这也不起作用。

0 投票
2 回答
598 浏览

c++ - 用数字正确排序名称

对于排序项目名称,我想正确支持数字。即:

代替

有谁知道已经支持它的比较函子?
(即可以传递给的谓词std::sort

我基本上有两种模式要支持:前导数字(如上)和末尾数字,类似于资源管理器:

(我想我可以解决这个问题:按字符进行比较,并以不同的方式处理数值。但是,这可能会破坏 unicode collaiton 之类的)

0 投票
1 回答
762 浏览

iphone - 过滤 NSArray iphone

我使用 coredata 用表格视图中显示的数据填充数组。在表格视图中,我有两个部分。当一个单元格被推入第 1 节时,我希望将该单元格移动到第 2 节,反之亦然。

我不太确定如何做到这一点,我已经坐了大约 8 个小时试图弄清楚。

这是我到目前为止得到的:

我使用此代码来获取数据:

在 didSelectRowForIndexPath 中,我弄清楚了如何删除单元格:

如何在 tableView 的第 2 节中插入此单元格?我应该创建 2 个数组吗?我尝试了一些使用 NSDictiorary 的代码,如下所示:

但我从来没有设法让它工作。

任何帮助将不胜感激!提前致谢