[Rd] str and s3 classes

Duncan Murdoch murdoch.duncan at gmail.com
Fri Jun 21 13:37:15 CEST 2013


Sorry to anyone reading this and being confused by my response:  it was 
meant to be a response to a different message.

Duncan Murdoch

On 13-06-19 6:53 PM, Duncan Murdoch wrote:
> On 13-06-19 4:44 PM, Hadley Wickham wrote:
>> Hi all,
>>
>> Because str uses the generic version of length and names, it's
>> currently very easy to create objects that break str:
>>
>> a <- structure(list(1:5), class = "a")
>> length.a <- function(x) 2L
>>
>> str(a)
>>
>> b <- structure(list(1:5), class = "b")
>> names.b <- function(x) character()
>>
>> str(b)
>>
>>
>> These are obvious toy examples, but it is a real problem if you want
>> to create a class that defines names or length in a meaningful way,
>> that is incompatible with the underlying data structure.
>
> There are a few problems in the package; I'm not sure if all of them
> have any effect, but it works if I fix them all:
>
>    - you have both inst/doc and vignettes directories.  You should only
> have one of those.
>
>    - Your vignette is named simple.rmd.  The list_files_with_type()
> function isn't looking for the .rmd extension; it only recognizes .Rmd.
> That function is used for vignette() and browseVignettes(), but I think
> not for the HTML page you get to from help.start(). It should probably
> be fixed to work with the optional engines, which specify their own
> patterns.  I'll put it on the list of things to fix.
>
> Duncan
>



More information about the R-devel mailing list