On Fri, 10 Oct 2014, henrique.andrade(a)bb.com.br wrote:

> Dear Gretl Team,
> 
> I'm trying to define sample ranges inside a "big" Hansl script using
> strings. Please take a look at the following code:
> 
> <code>
> open australia.gdt
> 
> string data0 = "1980:4"
> string data1 = obslabel(lastobs(PUS)-10)
> string data2 = obslabel(lastobs(PUS))
> string def_erro = "4"
> 
> smpl obsnum(@data2)-(a)def_erro ; # Ok!
> 
> smpl full
> smpl ; obsnum(@data2) # Doesn't work
> 
> smpl full
> smpl obsnum(@data2)-(a)def_erro obsnum(@data2)  # Doesn't work
> 
> print "Hello, World!"
> 
> </code>
> 
> The problem only happens with Gretl 1.10.0 (I think it is a problem related
> to the new parser).

The business of allowing the evaluation of expressions within the 
"smpl" command is, so to speak, only "by courtesy": this is not a 
full-blown functions-with-arguments environment.

In this context you are much better off not mucking about with 
strings (still less with @-style string substitution). Here's your 
example rewritten in a much simpler and more reliable form:

<hansl>
open australia.gdt

scalar data2 = lastobs(PUS)
scalar def_erro = 4

smpl data2-def_erro ;

smpl full
smpl ; data2

smpl full
smpl data2-def_erro data2

print "Hello, World!"
</hansl>

That said, I'll take a look at the difference in behaviour between 
the last 1.9.92 and 1.10.0cvs.

Allin

Reply via email to