首页 > 解决方案 > 为什么 forall 在空列表上为真?

问题描述

为什么这是真的?

List[Int]().forall(_ > 0)

我的直觉是它应该是错误的,因为没有任何元素可以使谓词为真,但现实却不然,我不明白为什么。

标签: scala

解决方案


这是一个空洞的事实的具体实例。维基百科上给出的例子是,如果房间里没有手机,那么“房间里所有手机都关闭”的说法是空洞的。有趣的是,“房间里所有手机都打开”的说法是空洞的,就像“房间里所有手机都关闭并打开”的说法一样。

基本直觉是那里的每个元素满足谓词。


推荐阅读