Hi everyone, As the title suggests, I am trying to create local variables to a function for a supplied dictionary argument. The Dict would be of type {Symbol, Any} and the goal is to create a variable for each symbol that has the corresponding value. I am aware that I could use eval in something like:
for (k, v) in dict eval(:($k = $v)) end However, eval defined its variables in the global scope which has performance repercussions if I understand correctly, so I am trying to avoid that. I will add a bit of context in case you have suggestions that are drastically different than the path I am going for. I am doing this as I am implementing a wrapper around the JuMP JuliaOpt module allowing the users to dynamically create optimization models with arbitrary constraint expressions. Since the constraint expressions are defined using symbols, and JuMP requires those symbols to be defined in the current scope, I want the user to provide those symbols and their values in a dictionary to the function. Defining the symbols globally would be cumbersome as the user should ideally be able to run the function multiple times with the same constraint expressions (i.e. same symbols) but different values. I appreciate your help!