'valu' <name> [[<value>|'push'|'pop'] [nr]] | -> [['&'|'*'|'/'|'+'|'-'|'abs'|'max'|'min'|'pow'|-> 'sqr'|'sin'|'cos'|'tan'|'asin'|'acos'|'atan'] -> 'int'|'float'|'exp' -> [name name] ]An entity which stores a string of characters. Most characters are valid but no white-spaces are accepted from the command line. The command parser will scan each parameter of each command for expressions which match the name of a value and will replace the parameter by the content of the value. For example
Values can be written to the stack when the 'push' parameter is used:
valu arg1 push
A white-space separated string stored in a ``valu'' will be written to the stack in separate sub-strings. With this method single pieces of a white-space separated string can be splitted and stored in separate values:
stack on
opens the stack
valu complicatedString push
splits the string stored in 'complicatedString' and writes the single pieces to the stack. The command
valu subString pop 3
loads the 3rd substring into the varible 'subString'.
The command is able to perform simple calculations like
valu result * arg1 arg2
'result' will store the product from 'arg1' and 'arg2'. It is important to understand that the command deals only with other 'values'. That means that a direct multiplication of two numbers is not possible. The number has to be stored in a value before it can be used:
valu arg1 1.24
assigns the string ``1.24'' to the value 'arg1'. During the calulation the strings are converted to double precision numbers and the result is stored as a string representing an exponential number. The 'int', 'float' and 'exp' convert between integer, floating point and exponential format.
The '&
' operator is used to concatenate two strings:
valu string3 &
string1 string2
See also ``prnt'' and ''How to write values to a file''.