[Rd] Calling do_inherit from C
Prof Brian Ripley
ripley at stats.ox.ac.uk
Wed Apr 6 08:49:55 CEST 2005
On Tue, 5 Apr 2005, Vadim Ogranovich wrote:
> Hi,
>
> Is there a way (or better say idiom) for calling functions like
> do_inherit() (which are meant to be called via .Internal) from regular C
> code. Say I have a SEXP object x and I want to check if it inherits from
> "POSIXt". How do I do this?
Call eval() on the R expression you want. There are lots of examples in
the tests/Embedding directory, and the following (in objects.c)
#ifdef UNUSED
static void load_methods_package()
{
SEXP e;
R_set_standardGeneric_ptr(dispatchNonGeneric, NULL);
PROTECT(e = allocVector(LANGSXP, 2));
SETCAR(e, install("library"));
SETCAR(CDR(e), install("methods"));
eval(e, R_GlobalEnv);
UNPROTECT(1);
}
#endif
is a simple prototype for such calls.
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel
mailing list