This question numaralı özel kümeli özel işlevleri gösterme çağrısı, şu soruyu sordu: Çağrı yığınında bulunan special primitive işlevlerini görmenin bir yolu var mı?Çağrı yığını
Örneğin, çıkışta çağrı yığını döndüren bir işlev oluşturmak:
myFun <- function(obj){
on.exit(print(sys.calls()))
return(obj)
}
Bu işlevi çağırmak ve assign
özel ilkel fonksiyonları kullanarak önler kullanarak bir nesnenin ile sonuç atama:
> assign("myObj",myFun(4))
[[1]]
assign("myObj", myFun(4))
[[2]]
myFun(4)
Ancak, atama işlecini kullanarak bu,
> `<-`(myObj, myFun(6))
[[1]]
myFun(6)
yığınının dışına çıkarılır.Verilen
, tüm bu ortak çağrı yığını içinde atama operatörü görmek istemek olmayabilir, ama bu tür rep
ve log
gibi diğer fonksiyonları da olsun gizli ben çağrıları erişmek için herhangi bir yolu var sanmıyorum
1. R Içselleri kılavuzunda O bağlantılı bölümü de ilginçtir: Daha önce İlkel fonksiyonlarını kullanmak için motivasyon çeşitliliği kabul etmemişti. '<-',' log' ve 'UseMethod' tüm temel öğelerdir, ancak oldukça farklı nedenlerle. hepsi 'ile yapılabilir - –
JoshO'Brien @ O motivasyonları mutlaka doğru olduğunu sanmıyorum.Internal' işlevleri de – hadley