实战用法
resize_temp_array 常用于动态数组管理场景,例如在循环筛选国家或省份后,需要将结果集裁剪到固定数量,或预先扩展数组为后续批量赋值腾出空间。典型场景如构建"随机选取 N 个候选目标"的逻辑:先填充数组,再用此命令截断至所需长度。
# 将临时数组 candidate_array 截断为前 3 个元素
resize_temp_array = {
array = candidate_array
size = 3
}
# 简写形式:直接将 candidate_array 调整为 5 个元素(新增元素默认为 0)
resize_temp_array = { candidate_array = 5 }
配合关系
[add_to_temp_array](/wiki/effect/add_to_temp_array):通常先用此命令向临时数组批量压入元素,再用 resize_temp_array 将数组裁剪或扩展到目标长度,二者构成"填充→调整"的标准流程。
[for_each_scope_loop](/wiki/effect/for_each_scope_loop):在循环体内往数组追加元素后,往往需要用 resize_temp_array 控制最终数组大小,避免数组无限增长。
[random_scope_in_array](/wiki/effect/random_scope_in_array):从数组中随机取作用域前,先用 resize_temp_array 确保数组大小符合预期,可防止因越界或冗余元素导致逻辑混乱。
[clear_temp_array](/wiki/effect/clear_temp_array):当需要重置数组并重新填充时,clear_temp_array 与 resize_temp_array 组合使用,前者清空,后者重新定形。
常见坑
- 误用
value 字段的时机:value 只在数组扩大时对新增元素生效,若新 size 小于原数组长度,末尾元素会被直接删除,value 不起任何作用——新手常误以为 value 会对现有元素进行批量重置。
- 混淆临时数组与持久数组:
resize_temp_array 只能操作 temp array(临时数组),若错误地填入普通变量数组名,脚本不会报错但效果不会生效,应改用 [resize_array](/wiki/effect/resize_array) 处理持久数组。