zm.PosSort 坐标排序

文章目录
  1. 1. 功能
  2. 2. 语法
  3. 3. 参数
  4. 4. 返回值
  5. 5. 示例
  6. 6. 备注

功能

对二维坐标数组按远近进行排序, 支持升序, 降序

语法

结果 = zm.PosSort(坐标数组[, x, y][, 是否降序])

参数

参数 数据类型 解释
坐标数组 table 等待排序的坐标数组, 格式为{ {x,y},{x,y},{xy},…}, 传址调用, 兼容超级图色里的返回找到所有坐标格式
x 数值型 可选, 表示用于比较远近的x坐标, 省略默认为0
y 数值型 可选, 表示用于比较远近的y坐标, 省略默认为0
是否降序 布尔型 可选, 填写true表示从远到近, 填写false表示从近到远, 省略为false

返回值

坐标数组, table, 得到排序后的坐标数组

示例

1
2
3
4
5
6
7
8
9
10
11
Import "zm.luae" //导入插件,只需执行一次
zm.Init //初始化插件,只需执行一次

//按照与坐标0,0的远近升序, 最终得到{{10,20},{30,25}}
Dim t1 = zm.PosSort({{30,25},{10,20}})

//按照与坐标0,0的远近降序, 最终得到{{30,25},{10,20}}
Dim t2 = zm.PosSort({{30,25},{10,20}}, true)

//按照与坐标15,15的远近升序, 最终得到{{10,20},{30,40}}
Dim t3 = zm.PosSort({{10,20},{30,40}}, 15, 15)

备注

  • 常用于超级图色返回所有坐标的结果处理
  • V2.1829: 加入命令