; 简化版
s:="1|2|3|4"
Sort, s, D| N Random
For _, i in StrSplit(s,"|")
  MsgBox % i

; 复杂的原版
arr:=[1,2,3,4,5]
;-- 随机读取数组
key:=[], s:="", i:=1
for k,v in arr
  key[i]:=k, s.="|" i++
s:=substr(s,2)
sort, s, D| N Random
for k, i in strsplit(s,"|")
  msgbox % arr[key[i]]
 
; Random: 随机排序. 此选项会使得除 D, Z 和 U 外的其他选项被忽略(尽管如此, 但 N, C 和 CL 仍会影响对于重复项的检测)
; sort, s, D| N Random

; 随机排序
Loop 100
  MyVar .= a_index=1 ? a_index : "," a_index
Sort MyVar, Random D,
MsgBox % MyVar

 

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。