From pgilbert at bank-banque-canada.ca  Wed May 30 17:08:47 2007
From: pgilbert at bank-banque-canada.ca (Paul Gilbert)
Date: Wed, 30 May 2007 11:08:47 -0400
Subject: [Rd] S4 assignment \alias and \usage
In-Reply-To: <18013.34742.228595.528262@stat.math.ethz.ch>
References: <465D7BB2.3050405@bank-banque-canada.ca>
	<18013.34742.228595.528262@stat.math.ethz.ch>
Message-ID: <465D937F.80207@bank-banque-canada.ca>

Let me back up a bit, I may be making another mistake.  My code has

setGeneric("TSdoc<-",
    def= function(x, value) standardGeneric("TSdoc<-"),
    useAsDefault= function (x, value) {attr(x, "TSdoc") <- value ; x })

setGeneric("TSdoc",
    def= function(x) standardGeneric("TSdoc"),
    useAsDefault= function(x) attr(x, "TSdoc"))

In the Rd file I can document the generics with

\alias{TSdoc}
\alias{TSdoc<-}

and usage
    TSdoc(x)
    TSdoc(x) <- value

and these seems to work for the extraction method:

\alias{TSdoc,default-method}
and usage
\S4method{TSdoc}{default}(x)

but perhaps it is not correct.  My attempts to find an equivalent for 
the assignment method have not been successful.  Perhaps the first 
questions are whether this is the correct way to document the generic, 
and whether the extraction method documentation is only working by 
accident. The error that is being flagged by chechDocFiles is that there 
is \usage without a corresponding \alias.

Paul

Seth Falcon wrote:
....
 > If you have your own generic TSdoc<-, then I think you want:
 >
 > \alias{TSdoc<-}
 > \alias{TSdoc<-,someClass,anotherClass-method}
 >
 > You may not be allowed to specify usage, but I think the issue only
 > arises when setting methods for a generic documented elsewhere.
 >
 > + seth
 >

Martin Maechler wrote:
>>>>>> "PaulG" == Paul Gilbert <pgilbert at bank-banque-canada.ca>
>>>>>>     on Wed, 30 May 2007 09:27:14 -0400 writes:
> 
>     PaulG> What is the Rd file alias and usage syntax for an S4 assignment method? 
>     PaulG> I have been trying variations on
> 
> 
>     PaulG> \alias{TSdoc<-,default-method}
> 
> Do you really have a class called "default" ????
> 
> Using "<func>.default" is an S3 concept which in S4 is replaced
> by defining methods for "ANY".
> 
> 
> In Matrix, we have
> 
> \alias{dim<-,Matrix-method}
> 
> and that works fine
> -- though we don't have a \usage{.} there, since this really is in 
> Matrix-class.Rd
> 
> Martin Maechler
> 
>     PaulG> \usage{
>     PaulG> \S4method{TSdoc}{default}(x) <- value
> 
>     PaulG> but so far I have not got it right according to various codoc, etc, checks.
> 
>     PaulG> Paul Gilbert
====================================================================================

La version fran?aise suit le texte anglais.

------------------------------------------------------------------------------------

This email may contain privileged and/or confidential inform...{{dropped}}



[Rd] S4 assignment \alias and \usage
Paul Gilbert