Я пытаюсь создать функцию, которая проверяет строгое равенство, и я хотел бы использовать тройной знак равенства. Некоторый контекст:
> 3 == '3'
[1] TRUE
> FALSE == 0
[1] TRUE
Вся вышеприведенная проверка возвращает TRUE
, потому что входы приводятся к общему типу. Однако я хочу проверить на строгое равенство. Функция identical
делает именно то, что мне нужно.
> identical(3,'3')
[1] FALSE
> identical(FALSE, 0)
[1] FALSE
Теперь я хочу реализовать это более кратким и менее многословным способом. Как и в Javascript, я хотел бы использовать тройной знак равенства. Я написал эту функцию:
`===` <- function(a,b){
identical(a,b)
}
Однако это не работает, как ожидалось:
> 3 === 3
Error: unexpected '=' in "3 ==="
Чего мне не хватает? Спасибо