一个之前的帖子促使我发布了这个问题。将==
重新分配为isTRUE(all.equal())
(并将!=
重新分配为!isTRUE(all.equal())
)似乎是最佳实践。我想知道其他人是否在实践中这样做?我刚意识到我在整个代码库中使用==
和!=
进行数字相等性比较。我的第一反应是我需要进行全面清理并转换为all.equal
。但事实上,每次我使用==
和!=
时,我都想测试相等性(无论数据类型如何)。事实上,除了相等性之外,我不确定这些操作会测试什么。我肯定错过了某些概念。有人能启发我吗?我看到的唯一反对这种方法的论点是,在某些情况下,由于all.equal
的公差,两个非相同的数字将看起来是相同的。但我们被告知,实际上相同的两个数字可能由于它们在内存中的存储方式而不能通过identical()
。所以,不默认使用all.equal
的意义是什么呢?
==
。为什么要定义新的===
和!==
,而不是使用isTRUE
和all.equal
呢? - joran