I am trying to define a function which one of its arguments is a class of other functions, with diverse parameters (for example, distribution functions). So, I don’t know how to pass these parameters because the parameters, according to the distribution, doesn’t have the same pattern. For example
function foo(;distribution::Function, x = 0, parameters) y = x + rand(distribution (parameters) ) return y end
In this case, I need to execute, for example:
# For normal(0,1) foo(Normal, x = 2, 0,1) # Or for normal(1,2) foo(Normal, x = 2, 1,2)
# For TDist(ν) foo(TDist, x = 4, ν = 2 )
I spent some time looking for a solution, but I couldn’t find it. I would like a solution to include as arguments not only distributions and their parameters, but any kind of functions with several parameters.