I'm having problems with functions starting with underscores
'_foo' <- function(x) {1}
seems to work
but I can't assign an attribute to this function
attr('_foo', 'bar') <- 'pow'
Any way of doing this? This is for a C++ -> R wrapping system so I'd
like to
keep the C++ names which start with underscores.
(please cc: responses to me personally)
Use backticks: attr(`_foo`, "bar") <- "pow" On 6/5/06, Joseph Wang <joe at gnacademy.org> wrote:> I'm having problems with functions starting with underscores > > '_foo' <- function(x) {1} > > seems to work > > but I can't assign an attribute to this function > > attr('_foo', 'bar') <- 'pow' > > Any way of doing this? This is for a C++ -> R wrapping system so I'd like to > keep the C++ names which start with underscores. > > (please cc: responses to me personally) > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html >
It is not allowed to start a variable name with an underscore. So, you
must use "`" to call this non-conventional name:
> '_foo' <- function(x) 1
> attr('_foo', 'bar') <- 'pow'
Error: target of assignment expands to non-language object
> attr(`_foo`, 'bar') <- 'pow'
> '_foo'
[1] "_foo"
> `_foo`
function(x) 1
attr(,"bar")
[1] "pow"
>
Best,
Philippe Grosjean
Joseph Wang wrote:> I'm having problems with functions starting with underscores
>
> '_foo' <- function(x) {1}
>
> seems to work
>
> but I can't assign an attribute to this function
>
> attr('_foo', 'bar') <- 'pow'
>
> Any way of doing this? This is for a C++ -> R wrapping system so
I'd like to
> keep the C++ names which start with underscores.
>
> (please cc: responses to me personally)
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html
>
>