[R] Is it Possible to Create S4 Function Objects?

Abby Spurdle (/əˈbi/) @purd|e@@ @end|ng |rom gm@||@com
Mon Feb 22 23:23:39 CET 2021


Oh wow.
Post of the year!
Where's the like button?

Note, I was able to rewrite it without the deprecated args.
(Don't want one of those CRAN emails, in 12 months from now, saying
please change XXXX).

I'll have to come back to this later, to see if I can get the body of
f() to access the slot


On Mon, Feb 22, 2021 at 11:36 AM Hervé Pagès <hpages.on.github using gmail.com> wrote:
>
> Hi Abby,
>
> Something along the line of:
>
>    setClass("S4Function",
>      contains="function",
>      representation(name="character", more_stuff="ANY")
>    )
>
> seems to do what you want:
>
>    f <- new("S4Function", function(a) a^2, name="square")
>
>    # 'f' is both an S4 object and a function:
>    is.object(f)
>    # [1] TRUE
>    is.function(f)
>    # [1] TRUE
>
>    f using name
>    # [1] "square"
>    f(11)
>    # [1] 121
>
> Hope this helps,
>
> H.



More information about the R-help mailing list