Thank you, Wacek,
for

>>>>> Wacek Kusnierczyk <w...@idi.ntnu.no>
>>>>>     on Sun, 29 Mar 2009 22:40:11 +0200 (CEST) writes:

    > Full_Name: Wacek Kusnierczyk
    > Version: 2.8.0 and 2.10.0 r48242
    > OS: Ubuntu 8.04 Linux 32 bit
    > Submission from: (NULL) (80.202.30.36)


    > The following raises an error:

    > if (as.raw(1)) 1
    > # error: unimplemented type 'raw' in 'asLogical'

    > However, ?'if' says:

    > " 
    > Arguments:

    > cond: A length-one logical vector that is not 'NA'. Conditions of
    > length greater than one are accepted with a warning, but only
    > the first element is used.  Other types are coerced to
    > logical if possible, ignoring any class. 
    > "

    > and the help page does not mention raw type arguments to 'if' at all. 

    > The error above is in clear contradiction to the documentation.  This 
might be a
    > flaw in the documentation, but the following succeeds:

    > ifelse(raw(1), 1, 0)
    > # 1

    > which suggests that the error above is a bug (i.e., the implementation 
fails to
    > convert raw to logical).

    > The same problem involves 'while':

    > while(as.raw(1)) break
    > # error: unimplemented type 'raw' in 'asLogical'

indeed, it was pretty straightforward hard to implement the missing case in
asLogical(.) and I will commit my patch to the sources tomorrow
{being busy otherwise for the rest of today}.

Note that  the  raw data type has been a newish addition to R a
while ago though,  and if you find further cases where
such raw objects do not "work" as documented,
we'd gladly accept further such reports.

Regards,
Martin Maechler, ETH Zurich

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to