varputl#
Purpose#
Allows a matrix, array, string, or string array to be assigned to a local symbol given as a string argument.
Format#
- y = varputl(x, n)#
- Parameters:
x (matrix or array or string or string array) – data which is to be assigned to the target variable.
n (string) – the name of the local symbol which will be the target variable
- Returns:
y (scalar) – 1 if the operation is successful and 0 if the operation fails.
Examples#
proc myProc(x);
local a, b, c, d, e, vars, putvar;
a = 1;
b = 2;
c = 3;
d = 5;
e = 7;
vars = { a b c d e };
putvar = 0;
// Keep looping until the user enters a letter
// a-e or A-E
do while putvar $/= vars;
// Two semi-colons at the end of a print statement,
// prevents a 'new line' from being printed
print "Assign x (" $vars "): ";;
putvar = upper(cons);
print;
endo;
// Assign the variable whose letter/name was entered by
// the user to be the value passed into 'myProc'
call varputl(x, putvar);
retp(a + b*c - d/e);
endp;
// Format printing of numbers to allow 2 spaces between them
// and 1 digit after the decimal place
format /rds 2,1;
z = myProc(17);
print " z is " z;
Note
This example will ask for user input at the GAUSS command prompt
produces:
Assign x ( A B C D E ): a
z is 22.3
Remarks#
x and n may be global or local. The variable, whose name is in n, that x is assigned to is always a local.
See also
Functions vargetl()