insertinsertInsertInsertinsert插入(算子)
名称
insertinsertInsertInsertinsert — 为元组元素赋值。
警告
insertinsertInsertInsertInsertinsert 已过时,仅出于向后兼容性考虑而保留。insertinsertInsertInsertInsertinsert 算子的修改版本已被算子 assign_atassign_atAssignAtAssignAtAssignAtassign_at 取代。该算子在全文编辑器中采用相同语法,因此会自动启用。insertinsertInsertInsertInsertinsert 算子的非修改版本则由新算子 tuple_replacetuple_replaceTupleReplaceTupleReplaceTupleReplacetuple_replace 替代。
签名
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 代表需求解为单一值并赋予元组 InputInputInputInputinputinput 中 IndexIndexIndexIndexindexindex 位置元素的表达式。参数 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
模块
基础