On Saturday 16 June 2007 17:32:17 Allin Cottrell wrote: > > I may be missing something, but I think the answer is that you'll > have to pass a list to achieve what you want here.
I want a unique series as input and a list (with, for example, three series) as output, and I want the output series be named in accordance with the series input. > > The trouble is that when a single series is passed to a function, > this series is known inside the function by the name of the > corresponding function parameter, _not_ by the name it has in the > calling script. > > function foo (series y) > <create list of variables based on y> > return list modlist > end function > > list foolist = foo(myvar) > > In the above, function foo has no way of knowing that the series > it sees as "y" is known as "myvar" in the caller. > > One way around this would be to allow string arguments to > user-defined functions. Yes I think so. I would like something like this could be possible in gretl: function foo(string name) series y=@name #some calculation here series @name_out=y^2 #for example return series @name_out end function or alternatively, if we had a function to obtain the "external" name of a variable, for example "sername(y)": function foo(series y) string name= sername(y) series @name_out=y^2 #for example return series @name_out end function -- Ignacio Diaz-Emparanza DEPARTAMENTO DE ECONOMÍA APLICADA III (ECONOMETRÍA Y ESTADÍSTICA) UPV/EHU Avda. Lehendakari Aguirre, 83 | 48015 BILBAO T.: +34 946013732 | F.: +34 946013754 www.et.bs.ehu.es