-----Original Message-----
From: Gabor Grothendieck [mailto:ggrothendieck@gmail.com]
Sent: Saturday, May 07, 2005 8:56 AM
To: Vadim Ogranovich
Cc: r-devel@stat.math.ethz.ch
Subject: Re: [Rd] how to add method to .Primitive function
On 5/7/05, Vadim Ogranovich <vograno@evafunds.com> wrote:
I tried to write the dim method for the list class, but R
dim.list = function(x) c(length(x[[1]]), length(x))
dim(list(1))
[1] 1 1
What is the correct way of registering dim.list with
.Primitive("dim")?
The list method of dim is sealed
isSealedMethod("dim", "list")
[1] TRUE
but you could define a subclass, mylist, and use that:
setClass("mylist", representation(x = "list"), contains = "list")
setMethod("dim", "mylist", function(x) c(length(x@x[[1]]),
length(x@x)))
x <- new("mylist", x = list(x = 1, y = 2))
dim(x)