This isn't exactly what you want... but you can always can splat 
`Dict{Symbol, T}` into named function argument like this

```
julia> function f(;a = 0, b = 0, c = 0) 
        println("a = $a, b = $b, c = $c")
       end
f (generic function with 1 method)

julia> dic = Dict(:a => 1, :b => 2, :c => 3)
Dict{Symbol,Int64} with 3 entries:
  :c => 3
  :a => 1
  :b => 2

julia> f(;dic...)
a = 1, b = 2, c = 3
```

I guess you could then use meta programing to define `f` with named 
arguments for a specific `dic`, then call `f(;dic...)`. However, I'm 
guessing that raises red flags in terms of code quality.


On Wednesday, January 27, 2016 at 4:43:37 PM UTC-8, Fady Shoukry wrote:
>
> Hey everyone,
>
> As the subject line suggests, I am trying to programmatically create 
> variables from a supplied dictionary in a function. I am aware that I can 
> use eval() but eval will generate global variables which is something I am 
> trying to avoid for its performance disadvantages. Here is an example of 
> what I am trying to accomplish.
>
> function defVariables(dict::Dict{Symbol}{Any})
>     # This function should define the variables as follows:
>
>

Reply via email to