Nedenbaşka fonksiyon içerisinde tanımlı bir işlev için aynı argüman isimlerini kullanarak
f <- function(a) {
g <- function(a=a) {
return(a + 2)
}
return(g())
}
f(3) # Error in a + 2: 'a' is missing
nedeni bir hata yapar? Özellikle değişken isimlerinin aynı olduğu gerçeği ile a = bir argüman ile ilgisi vardır. Tam olarak neler oluyor?
f <- function(a) {
g <- function(a) {
return(a + 2)
}
return(g(a))
}
f(3) # 5
f <- function(a) {
g <- function(g_a=a) {
return(g_a + 2)
}
return(g())
}
f(3) # 5
g <- function(a) a + 2
f <- function(a) g(a)
f(3) # 5
ve R 3.1.1'deki hata mesajı şu anda değerlendirme aşamasında olan g(): sözünde hata: özyinelemeli varsayılan argüman referansı veya önceki sorunlar? ' – Roland
Gördüğüm hata mesajından çok daha yararlıdır (Hata: 'a' eksik). R sürüm 3.0.2 (2013-09-25) - "Frizbi Yelkeni" var – Adrian