Quale tipo di oggetto viene passato a myFunc
come x? Non sembra essere un'espressione, né una funzione e lo basta solo valutarlo. Capisco che posso usare force()
per valutare. Mi chiedo se c'è un modo per raccogliere più informazioni su x senza valutarlo.R - Rilevamento di espressioni
myFunc = function(x)
{
is.expression(x)
is.function(x)
str(x)
}
myFunc({ x = 5; print(x + 1) })
Che dire della classe (x) – Benjamin
non sembra segnalare come espressione. né type() né mode() – SFun28
penso che potresti essere confuso tra espressioni (che sono fondamentalmente liste di chiamate non valutate) e i risultati di un'espressione. 'x' nella tua funzione è 6. – hadley