为什么此代码使用==和|运算符结果为TRUE

时间:2019-01-23 20:38:21

标签: r operators

为什么返回TRUE:

totalOreRamaseCerinta

我以为会问是15等于1还是2或10,这将导致FALSE。

1 个答案:

答案 0 :(得分:5)

如果您看一下R如何解析代码,这

15 == 1|2|10

相同
(((15 == 1) | 2) | 10)

如果其中一个值不是FALSE(或0),则|的位置将返回TRUE。因此15==1FALSE,但FALSE | 2TRUE,因为2不是0。然后TRUE | 10也为TRUE。所以

( FALSE | TRUE) | TRUE)  == TRUE

请勿使用|来匹配多个值之一。使用%in%测试值向量中是否包含一个值。

15 %in% c(1, 2, 10)