| Bill Allombert on Tue, 19 May 2020 20:24:31 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: Globals and GP2C |
On Tue, May 19, 2020 at 05:37:30PM +0000, Jacques Gélinas wrote:
> How can I convince GP2C to accept globals like GP does ?
>
> ======================= file glob.gp
> [A,B]
> rst() = { \\ reset global vars
> A = 2020; B = "virus"; return();
> }
> infoglob() = { \\ print global vars
> print("A = ", A, " B = ", B);
> }
> =======================
The problem is that GEN are stored on the PARI stack which is
reset before printing the GP prompt.
You can do everything on one line:
? init_glob();rst();infoglob()
A = 2020 B = virus
You can also do
global(A:small,B:str);
so that A and B are known not to be GEN
? init_glob()
? rst()
? infoglob()
A = 2020 B = virus
or you can use clone to copy GEN out of the stack:
rst() = {
A = clone(2020:gen); B = clone("virus":gen);
}
Cheers,
Bill