On 02/07/09 21:02, Mark Wardle wrote:
Hi.

I've stared at your code for a number of minutes and can't understand
what you're trying to achieve here. It looks as if you're fighting
scope - it may be worth refactoring your approach to simplify matters.
Otherwise, it sounds like a recipe for obfuscation! What are you
trying to do really?

b/w

Mark

2009/7/2 Allan Engelhardt<all...@cybaea.com>:
Must be the heat or something but I can't get my brain into gear and figure
out how to get something like

if (1) { c<- 1; foo<- function () print(c); }

Imagine "c <- 1" is a long complex operation, say to get a list of current active EC2 hosts through querying some web services and some complex system("ssh...") calls that I do not want to repeat ever again, and the result is a list of hosts (and it is not really called "c" - that would be bad). My function foo is a parallel version of lapply and the code goes something like

if ( usingAmazonWebServices() ) {
    cluster <- myServers(); # Takes minutes
    p.lapply <- function (...) aws.lapply(..., hosts = cluster)
} else if ( require("multicore", ...) ) {
    p.lapply <- function (...) mc.lapply(..., mc.preschedule = FALSE)
} else {
    p.lapply <- lapply
}
## ...
## Much later:
result <- p.lapply(problems, analysis)

This is somewhere far away from the main action of the code and my fear is that somewhere someone (most likely me next week) will accidentally use the "custer" variable for something else, causing p.lapply to mysteriously fail. I probably should package it all up and use namespaces or some such, but I am just trying not to get hurt right now.

Allan

______________________________________________
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