On 12-01-06 12:18 PM, Michael Pearmain wrote:
Hi All,

I've just recently discovered the cmpfun function, and was wanting to to
create a function to assign this to all the functions i have created, but
without explicitly naming them.

I've achieved this with:

foo<- function(x) { print(x)}
bar<- function(x) { print(x + 1)}

foo<- function(x) { print(x)}
foo
function(x) { print(x)}
cmpfun(foo)
function(x) { print(x)}
<bytecode: 0x26e3d40>


find.all.functions<- ls.str(mode = 'function')
  for(i in seq_along(find.all.functions)) {
     assign(find.all.functions[i], cmpfun(get(find.all.functions[i])))
   }

But remember told that using assign is generally a bad idea, and ideally i
want to functionalize this to say something like:

CreateCompiledFunctions<- function() {
   find.all.functions<- ls.str(mode = 'function')
   for(i in seq_along(find.all.functions)) {
     assign(find.all.functions[i], cmpfun(get(find.all.functions[i])))
   }
}


Does anyone have a better solution?

Put your functions in a package, and install it with the --byte-compile option. This is better in two ways:

1. You have a package, which is *much* better than having a bunch of functions sitting around in an .Rdata file.

2.  You don't recompile functions that are already compiled.

Duncan Murdoch


Thanks in advance

Mike

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to