Unknown Symbols
names_grabber <- function(x) {
switch_expr(x,
constant = character(),
symbol = as.character(x),
call = flat_map_chr(as.list(x[-1]), names_grabber)
) |>
unique()
}
x+y+f(a,b,c,10)
names_grabber(expr(x + y + f(a, b, c, 10)))
#> [1] "x" "y" "a" "b" "c"
lobstr::ast(expr(x + y + f(a, b, c, 10)))
#> █─expr
#> └─█─`+`
#> ├─█─`+`
#> │ ├─x
#> │ └─y
#> └─█─f
#> ├─a
#> ├─b
#> ├─c
#> └─10