scala - 为什么 forall 在空列表上为真?
问题描述
为什么这是真的?
List[Int]().forall(_ > 0)
我的直觉是它应该是错误的,因为没有任何元素可以使谓词为真,但现实却不然,我不明白为什么。
解决方案
这是一个空洞的事实的具体实例。维基百科上给出的例子是,如果房间里没有手机,那么“房间里所有手机都关闭”的说法是空洞的。有趣的是,“房间里所有手机都打开”的说法是空洞的,就像“房间里所有手机都关闭并打开”的说法一样。
基本直觉是那里的每个元素都满足谓词。
推荐阅读
- javascript - 否则,相同输出的更多变量(JS)
- java - 以毫秒为单位计算差异需要时间
- python - 用于布尔值的比较运算符
- javascript - 将条码文本转换为 Microsoft Word 所需的 code128 格式以呈现为字体
- sql - 如果两行具有相同的 amt,则将“平衡”列值获取为“Y”,如果不在 SQL 查询中,则获取“N”
- c# - 使用 Linq 进行 ArrayList 转换
- python - Python如何用时区解析日期时间?
- javascript - 离开和进入在 ReactCSSTransitionGroup 中不起作用
- xcode - 解决冲突后的Xcode 9.3 Git合并问题
- excel - 使用 =NETWORKDAYS() 时出现不合理的大负数