¿Cómo puedo asegurarme de que cuando se llama a una función no se permite tomar variables del entorno global?cómo aislar una función
Me gustaría que el siguiente código me diera un error. La razón es porque podría haber escrito mal z (quería escribir y).
z <- 10
temp <- function(x,y) {
y <- y + 2
return(x+z)
}
> temp(2,1)
[1] 12
supongo que la respuesta tiene que ver con los ambientes, pero no lo han entendido los todavía.
¿Hay alguna manera de hacer que mi comportamiento deseado sea el predeterminado (por ejemplo, configurando una opción)?
Existe un debate en la noticia de 27 de febrero de 2010 en la página de inicio de proto: http://r-proto.googlecode.com. –
@ G.Grothendieck gracias, eso parece interesante. No estoy seguro de si todavía tengo ganas de profundizar en un paquete/cambio de filosofía tan grande. Pero lo tendré en cuenta una vez que tenga más experiencia. –
Estoy bastante seguro de que esto ya se ha preguntado aquí. – hadley