...
The table below lists the return type for every Left side, Goal type, List/Table and Return type combination, along with an example. So if the left side is a String the return type is a Telitab, when the left side is a value the return type is a pointer to an object, except when the goal type is a list of values, then the return type is a value. Assigning a pointer to a value parameter is useless as it can not be used. It only makes sense in a function call. Then it is used implicitly.
Left side | Goal type | List / Table | Return type | Expression | Goal | Input | ||
---|---|---|---|---|---|---|---|---|
Value | Value | List | Value | Y = DataObject(@Y, @X:STR$(Xmin)+"(0.1)"+STR$(Xmax)) | Y = X^2 | Xmax = 3 | Xmin = 3 | |
Value | Value | Table | Pointer to DataObject | Y = DataObject(@Y, @X:STR$(Xmin)+"(0.1)"+STR$(Xmax)) | Y = X^2 | Xmax = 3 | Xmin = 1 | |
Value | String | List | Pointer to DataObject | Y1 = DataObject(@D$, @X:STR$(Xmin)+"(0.1)"+STR$(Xmax)) | D$ = STR$(2*X^2) | Xmax = 3 | Xmin = 3 | |
Value | String | Table | Pointer to DataObject | Y1 = DataObject(@D$, @X:STR$(Xmin)+"(0.1)"+STR$(Xmax)) | D$ = STR$(2*X^2) | Xmax = 4 | Xmin = 3 | |
Value | Telitab | List | Pointer to DataObject | y2 = DataObject(@C#) | C# = TELITAB#(0,A,B) | A = 1 | B = 1 | |
Value | Telitab | Table | Pointer to DataObject | y2 = DataObject(@C#) | C# = TELITAB#(0,A,B) | A = 1(1)10 | B = 2(2)20 | |
Value | Object | List | Pointer to ChildObject | y3 = DataObject(@ChildObject, @X:STR$(Xmin)+"(0.1)"+STR$(Xmax)) | ChildObject(@Y, X) | Y = X^2 | Xmax = 3 | Xmin = 3 |
Value | Object | Table | Pointer to DataObject | y3 = DataObject(@ChildObject, @X:STR$(Xmin)+"(0.1)"+STR$(Xmax)) | ChildObject(@Y, X) | Y = X^2 | Xmax = 4 | Xmin = 3 |
String | Value | List | Telitab | Y$ = DataObject(@Y, @X:STR$(Xmin)+"(0.1)"+STR$(Xmax)) | Y = X^2 | Xmax = 3 | Xmin = 3 | |
String | Value | Table | Telitab | Y$ = DataObject(@Y, @X:STR$(Xmin)+"(0.1)"+STR$(Xmax)) | Y = X^2 | Xmax = 3 | Xmin = 1 | |
String | String | List | Telitab | Y1$ = DataObject(@D$, @X:STR$(Xmin)+"(0.1)"+STR$(Xmax)) | D$ = STR$(2*X^2) | Xmax = 3 | Xmin = 3 | |
String | String | Table | Telitab | Y1$ = DataObject(@D$, @X:STR$(Xmin)+"(0.1)"+STR$(Xmax)) | D$ = STR$(2*X^2) | Xmax = 4 | Xmin = 3 | |
String | Telitab | List | Telitab | y2$ = DataObject(@C#) | C# = TELITAB#(0,A,B) | A = 1 | B = 1 | |
String | Telitab | Table | Telitab | y2$ = DataObject(@C#) | C# = TELITAB#(0,A,B) | A = 1(1)10 | B = 2(2)20 | |
String | Object | List | Telitab | y3$ = DataObject(@ChildObject, @X:STR$(Xmin)+"(0.1)"+STR$(Xmax)) | ChildObject(@Y, X) | Y = X^2 | Xmax = 3 | Xmin = 3 |
String | Object | Table | Telitab | y3$ = DataObject(@ChildObject, @X:STR$(Xmin)+"(0.1)"+STR$(Xmax)) | ChildObject(@Y, X) | Y = X^2 | Xmax = 4 | Xmin = 3 |
...