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 

Reply via email to