Metaprogramming: Nested function variable interpolation

You could just use Symbolics.jl

using Symbolics

function make_func(num::Int)
    # Generate some variables
    @variables v[1:num]
    v = collect(v)
    ex = sum(v)
    f_oop, _= build_function([ex], v..., expression = Val{false})
    f_oop
end

f_ = make_func(3)
f_(1,2,3)
1 Like