ClassesClassesClassesClasses | | | | Operators

Page not available for the currently selected syntax (programming language).

Page not available for the currently selected syntax (programming language).

Page not available for the currently selected syntax (programming language).

Page not available for the currently selected syntax (programming language).

Page not available for the currently selected syntax (programming language).

insertinsertInsertinsertInsertInsert (Operator)

Name

insertinsertInsertinsertInsertInsert — Assignment of a value to a tuple element.

Warning

This operator is obsolete and should no longer be used explicitly in new programs. The modifying version of the insertinsertInsertinsertInsertInsert operator was replaced by the operator assign_atassign_atAssignAtassign_atAssignAtAssignAt. This operator uses the same notation in the full text editor, so that it is used automatically. The non-modifying version of the insertinsertInsertinsertInsertInsert operator is replaced by the new operator tuple_replacetuple_replaceTupleReplacetuple_replaceTupleReplaceTupleReplace.

Signature

insert( : : Input, Value, Index : Result)

Herror insert(double Input, double Value, const Hlong Index, double* Result)

Herror T_insert(const Htuple Input, const Htuple Value, const Htuple Index, Htuple* Result)

Herror insert(const HTuple& Input, const HTuple& Value, const HTuple& Index, double* Result)

Herror insert(const HTuple& Input, const HTuple& Value, const HTuple& Index, HTuple* Result)

void Insert(const HTuple& Input, const HTuple& Value, const HTuple& Index, HTuple* Result)

void HOperatorSetX.Insert(
[in] VARIANT Input, [in] VARIANT Value, [in] VARIANT Index, [out] VARIANT* Result)

static void HOperatorSet.Insert(HTuple input, HTuple value, HTuple index, out HTuple result)

Description

insertinsertInsertinsertInsertInsert assigns a single value to a specific element of a tuple.

In the full text editor an insert operation is simply entered with the help of the assignment operator sign := and the index access operator sign [ ] for the result variable, e.g.:

  Areas[Radius-1] := Area

If the operator window is used for entering the insert operator, insert must be entered into the operator combo box as the operator name. This opens the parameter area, where the parameter ValueValueValueValueValuevalue represents the expression that has to be evaluated to one value and assigned to the element at position IndexIndexIndexIndexIndexindex within the tuple InputInputInputInputInputinput. The parameter ResultResultResultResultResultresult gets the name of the variable where the result has to be stored.

If the input tuple that is passed via the parameter InputInputInputInputInputinput and the output tuple that is passed in ResultResultResultResultResultresult are identical (and only in that case), the insertinsertInsertinsertInsertInsert operator is listed and can be written in the full text editor in the above assignment notation. In this case, the input tuple is modified and the correct operator notation for above assignment would be:

   insert (Areas, Area, Radius-1, Areas)

If the InputInputInputInputInputinput tuple and the ResultResultResultResultResultresult tuple differ, the input tuple will not be modified. In this case, within the program listing only the operator notation can be used:

   insert (Areas, Area, Radius-1, Result)

This is the same as:

  Result := Areas
  Result[Radius-1] := Area

Please note that the operator insertinsertInsertinsertInsertInsert will not increase the tuple if the tuple already stores a value at the passed index. Instead of that the element at the position IndexIndexIndexIndexIndexindex will be replaced. Hence, for the ValueValueValueValueValuevalue parameter exactly one single value (or an expression that evaluates to one single value) must be passed.

If the passed IndexIndexIndexIndexIndexindex parameter is beyond the current tuple size, the tuple will be increased to the required size. The tuple elements that were inserted between the hitherto last element and the new element are undefined.

Parameters

InputInputInputInputInputinput (input_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*) (double / Hlong / BSTR) (double / Hlong / char*)

Tuple, where the new value has to be inserted.

Default value: []

ValueValueValueValueValuevalue (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*) (double / Hlong / BSTR) (double / Hlong / char*)

Value that has to be inserted.

Default value: 1

Typical range of values: 0 ≤ Value Value Value Value Value value ≤ 1000000

IndexIndexIndexIndexIndexindex (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Index position for new value.

Default value: 0

Suggested values: 0, 1, 2, 3, 4, 5, 6

Minimum increment: 1

ResultResultResultResultResultresult (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*) (double / Hlong / BSTR) (double / Hlong / char*)

Result tuple with inserted values.

Result

If the expression is correct insertinsertInsertinsertInsertInsert returns 2 (H_MSG_TRUE). Otherwise an exception is raised and an error code returned.

Alternatives

assignassignAssignassignAssignAssign

Module

Foundation


ClassesClassesClassesClasses | | | | Operators