Here's a quick test: function make_counter(x) return (delta) -> begin x += delta x end end
c0 = make_counter(0) c1 = make_counter(0) c0(1) # 1 c1(1) # 1 c0(1) # 2 c1(1) # 2 So it looks like they don't share the bound 'x' variable. On Friday, August 15, 2014 11:50:03 AM UTC-4, Noah Brenowitz wrote: > > suppose I have a function with prototype "f(x, y, z)". How can bind one > of the arguments to a new function argument by copying vs reference? In > c++11 I could do > > z = ... ; > auto newfun = [=](x,y) { f(x,y, z)}; > > if I wanted newfun to have its own copy of z. Then I could make some > changes to original object z without affecting the evaluation of newfun. An > alternative way to do this would be using a "Functor class" or std::bind. > Is it possible to replicate this behavior in julia? >