> On Dec 11, 2015, at 5:38 AM, Dario Beraldi <dario.bera...@gmail.com> wrote:
> 
> Hi All,
> 
> I'd like to understand the reason why stopifnot(logical(0) == x) doesn't
> (never?) throw an exception, at least in these cases:

The usual way to test for a length-0 logical object is to use length():

x <- logical(0)

stopifnot( !length(x) & mode(x)=="logical" )


> 
> stopifnot(logical(0) == 1)
> stopifnot(logical(0) == TRUE)
> stopifnot(logical(0) == FALSE)
> 
> My understanding is that logical(0) is an empty set, so I would expect the
> above tests to fail.
> 
> (I got bitten by this in a piece of code where "x" happened to be
> logical(0) and stopifnot didn't catch it)
> 
> Thanks!
> Dario
-- 

David Winsemius
Alameda, CA, USA

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to