Thanks for these infos. I will definitely pre-allocate memory (in fact
I do in the real code).

t

Le samedi 22 août 2015 à 14:24 -0700, Sisyphuss a écrit :
> I don't think it's much less efficient to "copy` in your second
> example. In 
> the second function., you should allocate memory for `y` anyway. So
> why not 
> give them a initial value especially when the input and the output of
> the 
> function are very alike.
> 
> By the way, in some case, you may want to use `deepcopy()`
> 
> On Saturday, August 22, 2015 at 9:51:48 PM UTC+2, Timothée Poisot
> wrote:
> > 
> > Hi, 
> > 
> > I caught myself wondering about the "correct" way to use function
> > and 
> > function! -- or rather, how other people deal with this. 
> > 
> > Let's say I have a simple function that operates on an array, and I
> > want a version to modify the original object, and one that doesn't.
> > 
> > Is this the correct way of doing it? 
> > 
> > ~~~ 
> > function baz!(x) 
> >         # Do things on x 
> > end 
> > 
> > function baz(x) 
> >         y = copy(x) 
> >         baz!(y) 
> > end 
> > ~~~ 
> > 
> > This allows to reuse the code of baz!, but copying the object IS 
> > inefficient. How do you usually deal with this situation? 
> > 
> > t 
> > 


Reply via email to