method.skeleton           package:methods           R Documentation

Create a Skeleton File for a New Method

Description:

     This function writes a source file containing a call to
     'setMethod' to define a method for the generic function and
     signature supplied.  By default the method definition is in line
     in the call, but can be made an external (previously assigned)
     function.

Usage:

     method.skeleton(generic, signature, file, external = FALSE, where)

Arguments:

 generic: the character string name of the generic function, or the
          generic function itself.  In the first case, the function
          need not currently be a generic, as it would not for the
          resulting call to 'setMethod'.

signature: the method signature, as it would be given to 'setMethod'

    file: a character string name for the output file, or a writable
          connection.  By default the generic function name and the
          classes in the signature are concatenated, with separating
          underscore characters.  The file name should normally end in
          '".R"'. 

external: flag to control whether the function definition for the
          method should be a separate external object assigned in the
          source file, or included in line in the call to 'setMethod'.
          If supplied as a character string, this will be used as the
          name for the external function; by default the name
          concatenates the generic and signature names, with separating
          underscores.

   where: The environment in which to look for the function; by
          default, the top-level environment of the call to
          'method.skeleton'.

Value:

     The 'file' argument, invisibly, but the function is used for its
     side effect.

See Also:

     'setMethod', 'package.skeleton'

Examples:

     setClass("track", representation(x ="numeric", y="numeric"))
     method.skeleton("show", "track")            ## writes show_track.R
     method.skeleton("Ops", c("track", "track")) ## writes "Ops_track_track.R"

     ## write multiple method skeletons to one file
     con <- file("./Math_track.R", "w")
     method.skeleton("Math", "track", con)
     method.skeleton("exp", "track", con)
     method.skeleton("log", "track", con)
     close(con)

