2.3 DeclarationsΒΆ
A declaration is an expression used to restrict the type of values that
can be assigned to variables. A colon :
is always used after a
variable or list of variables to be declared.
For a single variable, the syntax for declaration is
variableName : typeOrMode
For multiple variables, the syntax is
(, , ... ): typeOrMode
You can always combine a declaration with an assignment. When you do, it is equivalent to first giving a declaration statement, then giving an assignment. For more information on assignment, see Section ugIntroAssign and Section ugLangAssign . To see how to declare your own functions, see ugUserDeclare .
This declares one variable to have a type.
a : Integer
Type: Void
This declares several variables to have a type.
(b,c) : Integer
Type: Void
a , b and c can only hold integer values.
a := 45
Type: Integer
If a value cannot be converted to a declared type, an error message is displayed.
b := 4/5
This declares a variable with a mode.
n : Complex ?
Type: Void
This declares several variables with a mode.
(p,q,r) : Matrix Polynomial ?
Type: Void
This complex object has integer real and imaginary parts.
n := -36 + 9 * %i
Type: Complex Integer
This complex object has fractional symbolic real and imaginary parts.
n := complex(4/(x + y),y/x)
Type: Complex Fraction Polynomial Integer
This matrix has entries that are polynomials with integer coefficients.
p := [ [1,2],[3,4],[5,6] ]
Type: Matrix Polynomial Integer
This matrix has a single entry that is a polynomial with rational number coefficients.
q := [ [x - 2/3] ]
Type: Matrix Polynomial Fraction Integer
This matrix has entries that are polynomials with complex integer coefficients.
r := [ [1-%i*x,7*y+4*%i] ]
Type: Matrix Polynomial Complex Integer
Note the difference between this and the next example. This is a complex object with polynomial real and imaginary parts.
f : COMPLEX POLY ? := (x + y*%i)^2
Type: Complex Polynomial Integer
This is a polynomial with complex integer coefficients. The objects are convertible from one to the other. See ugTypesConvert for more information.
g : POLY COMPLEX ? := (x + y*%i)^2
Type: Polynomial Complex Integer