使用右上角的选项卡切换到不同的编程语言。

使用右上角的选项卡切换到不同的编程语言。

使用右上角的选项卡切换到不同的编程语言。

使用右上角的选项卡切换到不同的编程语言。

insertinsertInsertInsertinsert插入(算子)

名称

insertinsertInsertInsertinsert — 为元组元素赋值。

警告

insertinsertInsertInsertInsertinsert 已过时,仅出于向后兼容性考虑而保留。insertinsertInsertInsertInsertinsert 算子的修改版本已被算子 assign_atassign_atAssignAtAssignAtAssignAtassign_at 取代。该算子在全文编辑器中采用相同语法,因此会自动启用。insertinsertInsertInsertInsertinsert 算子的非修改版本则由新算子 tuple_replacetuple_replaceTupleReplaceTupleReplaceTupleReplacetuple_replace 替代。

签名

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)

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

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

def insert(input: MaybeSequence[Union[int, float, str]], value: Union[int, float, str], index: int) -> Sequence[Union[int, float, str]]

def insert_s(input: MaybeSequence[Union[int, float, str]], value: Union[int, float, str], index: int) -> Union[int, float, str]

描述

insertinsertInsertInsertInsertinsert 算子将单个值赋给元组的特定元素。

在全文编辑器中,插入操作只需借助赋值运算符符号 := 以及结果变量的索引访问运算符符号 [ ] 即可实现,例如: Areas[Radius-1] := Area

若算子窗口用于输入插入算子,则需在算子组合框中输入 insert 作为算子名称。此操作将打开参数区域,其中参数 ValueValueValueValuevaluevalue 代表需求解为单一值并赋予元组 InputInputInputInputinputinputIndexIndexIndexIndexindexindex 位置元素的表达式。参数 ResultResultResultResultresultresult 获取需存储结果的变量名称。

若通过参数 InputInputInputInputinputinput 传递的输入元组与通过 ResultResultResultResultresultresult 传递的输出元组完全相同(且仅在此情况下),则 insertinsertInsertInsertInsertinsert 算子会被列出,并可按上述赋值符号在全文编辑器中编写。在输入元组将被修改,上述赋值的正确算子表示法应为: insert (Areas, Area, Radius-1, Areas)

InputInputInputInputinputinput 元组与 ResultResultResultResultresultresult 元组不同,则输入元组不会被修改。在此情况下,程序列表中仅可使用算子表示法: insert (Areas, Area, Radius-1, Result)

这等同于: Result := Areas Result[Radius-1] := Area

请注意,如果元组已在传入的索引位置存储了值,则 insertinsertInsertInsertInsertinsert 算子不会增加该元组。相反,它将替换索引位置 IndexIndexIndexIndexindexindex 处的元素。因此,对于 ValueValueValueValuevaluevalue 参数,必须传入单个值(或评估为单个值的表达式)。

若传递的 IndexIndexIndexIndexindexindex 参数超出当前元组大小,则元组将扩展至所需大小。此前最后一个元素与新元素之间插入的元组元素将被视为未定义。

参数

InputInputInputInputinputinput (输入控制)  real(-array) HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

元组,其中需要插入新值的位置。

默认值: []

ValueValueValueValuevaluevalue (输入控制)  real HTupleUnion[int, float, str]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

需要插入的值。

默认值: 1

值范围: 0 ≤ Value Value Value Value value value ≤ 1000000

IndexIndexIndexIndexindexindex (输入控制)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

新值的索引位置。

默认值: 0

建议值: 0, 1, 2, 3, 4, 5, 6

最小增量: 1

ResultResultResultResultresultresult (输出控制)  real(-array) HTupleSequence[Union[int, float, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

包含插入值的结果元组。

结果

如果表达式正确 insertinsertInsertInsertInsertinsert 返回 2 ( H_MSG_TRUE )。否则,将抛出一个异常并返回错误代码。

替代

assignassignAssignAssignAssignassign

模块

基础