当我从 bit64 对 integer64 对象进行子类化然后执行相等测试时,结果包含逻辑数据,但仍归入我的类而不是逻辑。例如,整数不会发生这种情况。
示例代码:
library(bit64)
x = as.integer64(5)
class(x) = c("Foo", "integer64")
x == 5
返回
[1] TRUE
attr(,"class")
[1] "Foo"
请注意,它仍然有类“Foo”
而如果我们对整数做同样的事情:
y = as.integer(5)
class(y) = c("Foo", "integer")
y == 5
它返回逻辑
[1] TRUE
知道为什么会这样吗?