(sur le langage R)R: définir une fonction dans une fonction
J'essayais de déclarer/définir une fonction, dans une autre fonction. Cela ne semble pas fonctionner. Je ne pense pas que ce soit exactement un bug, c'est probablement un comportement attendu, mais je voudrais comprendre pourquoi! Toute réponse liée à des pages de manuel pertinentes est également la bienvenue.
Merci
code:
fun1 <- function(){
print("hello")
fun2 <- function(){ #will hopefully define fun2 when fun1 is called
print(" world")
}
}
fun1() #so I expected fun2 to be defined after running this line
fun2() #aaand... turns out it isn't
Exécution:
> fun1 <- function(){
+ print("hello")
+ fun2 <- function(){ #will hopefully define fun2 when fun1 is called
+ print(" world")
+ }
+ }
>
> fun1() #so I expected fun2 to be defined after running this line
[1] "hello"
> fun2() #aaand... turns out it isn't
Error : could not find function "fun2"
Pourquoi voulez-vous faire, par opposition à la définition d'une fonction unique qui a une dépendance (ie appelle) une autre fonction? –
c'est un comportement normal. 'fun2' est défini dans l'environnement de' fun1' tandis que 'fun1' est défini dans l'environnement global. C'est pourquoi vous ne pouvez pas appeler directement 'fun2' –