It wasn't a conscious choice, but it would slow things down a bit. Not by much though, since we're already attempting dispatch on length(). I can make the change.
On Wed, Sep 30, 2015 at 1:33 PM, Hervé Pagès <hpa...@fredhutch.org> wrote: > Hi Michael, > > I was expecting this to just work: > > base::lengths(IntegerList(1:4, 1:6)) > > but it doesn't: > > Error in base::lengths(IntegerList(1:4, 1:6)) : > 'x' must be a list or atomic vector > > The man page says: > > This function loops over ‘x’ and returns a compatible vector > containing the length of each element in ‘x’. Effectively, > ‘length(x[[i]])’ is called for all ‘i’, so any methods on ‘length’ > are considered. > > If length(x[[i]]) is called for all i then it should work on any object > for which [[ is defined. Note that this is what happens with > base::sapply(), base::mapply(), etc... they all use [[ internally. > > Do you know of any reason why lengths() doesn't do this? > > Thanks, > H. > > > On 09/28/2015 09:51 PM, Michael Lawrence wrote: > >> That is the plan. Note that we already have elementLengths() that serves >> the same purpose. It was the direct inspiration for lengths(). >> >> On Mon, Sep 28, 2015 at 9:41 PM, Peter Hickey <peter.hic...@gmail.com> >> wrote: >> >> The lengths() function was added in R 3.2 to "get the length of each >>> element of a list or atomic vector (is.atomic) as an integer or numeric >>> vector." It seems useful to me to have also a similar method defined for >>> the S4Vectors::List class (and subclasses). What do others think? >>> >>> [[alternative HTML version deleted]] >>> >>> _______________________________________________ >>> Bioc-devel@r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/bioc-devel >>> >>> >> [[alternative HTML version deleted]] >> >> _______________________________________________ >> Bioc-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/bioc-devel >> >> > -- > Hervé Pagès > > Program in Computational Biology > Division of Public Health Sciences > Fred Hutchinson Cancer Research Center > 1100 Fairview Ave. N, M1-B514 > P.O. Box 19024 > Seattle, WA 98109-1024 > > E-mail: hpa...@fredhutch.org > Phone: (206) 667-5791 > Fax: (206) 667-1319 > [[alternative HTML version deleted]] _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel