作为一名业余编码员,我缺少一些基本知识。在过去的几天里,我一直在阅读一些东西,“谓词”一词不断出现。非常感谢您对此问题的解释。
if (economy grows by 4%) then "sales forecast is valid" else "sales forecast is not valid"
。这里的“谓词”是测试“经济增长了4%”,它很可能实现为返回true或false的函数。简单来说,谓词是“ if”语句中的条件(有时会产生副作用)。
作为一名业余编码员,我缺少一些基本知识。在过去的几天里,我一直在阅读一些东西,“谓词”一词不断出现。非常感谢您对此问题的解释。
if (economy grows by 4%) then "sales forecast is valid" else "sales forecast is not valid"
。这里的“谓词”是测试“经济增长了4%”,它很可能实现为返回true或false的函数。简单来说,谓词是“ if”语句中的条件(有时会产生副作用)。
Answers:
正确或错误的陈述。在编程中,通常是一个为某些输入返回布尔值的函数。
我猜最常在高阶函数的上下文中使用。例如,filter
在许多语言中,该函数都是一个谓词和一个列表作为参数,并返回该列表中谓词为真的项目。
JavaScript中的示例:
lessThanTen = function(x) { return x < 10; }
[1,7,15,22].filter(lessThanTen) --> [1,7]
该函数lessThanTen
是此处的谓词,适用于列表中的每个项目。当然,布尔表达式可以代替函数用作谓词,例如filter(true)
将返回完整列表,filter(false)
空列表。
谓词不仅仅是一个计算结果为true或false的表达式,还有更多内容。术语“谓词”用于表示确定某项是正确还是错误的表达式。换句话说,它会做出一个断言并根据此结果返回true或false。
例如(在C#中):
/*this is a predicate, as it's sole purpose is to make some
assertion about something.*/
bool IsNameBob(string name)
{
return name == "Bob";
}
/*Whereas this is not a predicate, as it's performing an action
then evaluating to true if it succeeds. */
bool DoSomethingCool() {
try
{
ImDoingSomethingCool();
}
catch
{
return false;
}
return true;
}
我了解我在这里所说的纯粹是语义上的差异,但这就是这个问题的对吗?语义学?
const
引用,并且其返回类型是a bool
。
用非编程术语;一个问题。通常是一个带有占位符(如它和它们)的一般问题,可以问很多问题。
基本评估结果为布尔值1。它通常是指表示此类型求值的函数或对象。
1:布尔值使用宽松,不一定引用声明的bool
或boolean
。
首先,让我们看一看常规字典,看看它对谓词的含义是什么:
牛津美国词典(1980):
。句子的一部分,关于语法主题,例如“生命短暂”中的“短暂”
这是另一句话:“约翰很高。” 谓词“很高”。如您所见,它修饰或描述了主题,另一个类似于predicate
is的术语adjective
。本质上,它是一个修饰符。
IBM的技术词汇表提供了几种定义,但是最合适的是这个定义:
用作过滤器一部分的表达式,由数据项,运算符和值组成
这是使用SQL的示例:
SELECT name
FROM tableA
WHERE name = "john";
此代码中的谓词为name = "john"
。它具有IBM定义的所有组成部分,也符合谓词的常规定义。主语是name
和谓语是name = "john"
。
一个返回布尔值的函数。谓词在功能和OO编程中被大量使用以从数据结构(尤其是列表和其他集合)中选择值的子集。您可以在Haskell和Smalltalk的标准库中找到大量示例。
与数据库相关的谓词也有些相关: