Comp(E:LIST, RECORD, STRING, or VECTOR,X_1:INT,...,X_k:INT):OBJECT
|
This function returns E[X_1,...,X_k] except in the case where there
are no additional arguments X_1,...,X_k, in which case E, itself, is
returned (in other words 'Comp(E)' returns E). Since the square
bracket notation works only for variables and indeterminates, this
function must be used in all other situations (e.g. directly indexing
into, or selecting from, the result of a function call).
|
Use R ::= Q[x,y,z];
L := [4,5,[6,7],8];
Comp(L,1);
4
-------------------------------
Comp(L,3);
[6, 7]
-------------------------------
Comp(L,3,2);
7
-------------------------------
F(X):=[X,X^2]; -- the following usage of 'Comp' is useful for
-- programming
F(2);
[2, 4]
-------------------------------
Comp(F(2),2);
4
-------------------------------
Struct := Record[L := [x,y,z], S := "string"];
Struct["L",3]; -- 'Comp' works for records also
z
-------------------------------
Comp(Struct,"L",3);
z
-------------------------------
Comp("this is a string",3); -- use of 'Comp' with strings
i
-------------------------------
|