[Rd] Support for as(x, "raw")
Hervé Pagès
hp@ge@@on@g|thub @end|ng |rom gm@||@com
Tue May 14 18:55:48 CEST 2024
Hi,
as(x, "<vector-type>") is supported and does as.<vector-type>(x) for all
vector types except for raw. For example all the following coercions
work and do what you'd expect: as(1L, "logical"), as(1L, "double"),
as(1L, "complex"), as(1L, "character"), as(1L, "list"). But as(1L,
"raw") does not:
> as(1L, "raw")
Error in as(1L, "raw") :
no method or default for coercing “integer” to “raw”
Even though as.raw(1L) works:
> as.raw(1L)
[1] 01
Is there any particular reason for that or would it be reasonable to
define a coerce() method from ANY to raw like it's been done for all the
other vector types:
> selectMethod(coerce, c("ANY", "logical"))
Method Definition:
function (from, to, strict = TRUE)
{
value <- as.logical(from)
if (strict)
attributes(value) <- NULL
value
}
<environment: namespace:methods>
Signatures:
from to
target "ANY" "logical"
defined "ANY" "logical"
...
...
> selectMethod(coerce, c("ANY", "list"))
Method Definition:
function (from, to, strict = TRUE)
{
value <- as.list(from)
if (strict)
attributes(value) <- NULL
value
}
<environment: namespace:methods>
Signatures:
from to
target "ANY" "list"
defined "ANY" "list"
> selectMethod(coerce, c("ANY", "raw"))
Error in selectMethod(coerce, c("ANY", "raw")) :
no method found for signature ANY, raw
Thanks,
H.
--
Hervé Pagès
Bioconductor Core Team
hpages.on.github using gmail.com
[[alternative HTML version deleted]]
More information about the R-devel
mailing list