Thanks for the response!  As a follow-up, what would I do in a situation 
where the passed-in second function (fcn2) and the default function take a 
different number of arguments?

Thanks!

Chris

On Monday, January 18, 2016 at 4:06:41 PM UTC-5, Erik Schnetter wrote:
>
> Define the second function like this: 
> ``` 
> my_func(fcn1::Function, passedIn::Float64) = my_func(fcn1, 
> default_fcn, passedIn) 
> ``` 
>
> -erik 
>
>
> On Mon, Jan 18, 2016 at 4:02 PM, Christopher Alexander 
> <[email protected] <javascript:>> wrote: 
> > Hello all, I had a question concerning a best practice in a particular 
> case 
> > of multiple dispatch which is as follows. 
> > 
> > Let's say I have a function with two different methods. 
> > 
> > function my_func(fcn1::Function,fcn2::Function, passedIn::Float64) 
> >  x = 0.0 
> >  y = 1.0 
> >  z = 2.0 
> >  val1 = fcn(x, y, passedIn) 
> >  val2 = fcn2(y, z, passedIn) 
> >  return val1, val2 
> > end 
> > 
> > function my_func(fcn1::Function, passedIn::Float64) 
> >  x = 0.0 
> >  y = 1.0 
> >  z = 2.0 
> >  val1 = fcn(x, y, passedIn) 
> >  val2 = default_fcn(x, y, z, passedIn) 
> >  return val1, val2 
> > end 
> > 
> > My question is basically, what would be the best way to do this without 
> > massive code duplication?  The actual situation I am working with has 
> much 
> > more going on in the function, so it's not like I could create some init 
> > function to set up x, y, & z.  But literally the only different behavior 
> > between the two methods is whether or not a second function is passed 
> in. 
> > 
> > Thanks! 
> > 
> > Chris 
> > 
>
>
>
> -- 
> Erik Schnetter <[email protected] <javascript:>> 
> http://www.perimeterinstitute.ca/personal/eschnetter/ 
>

Reply via email to