list.tin 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. #nop vim: set filetype=tt:;
  2. /*
  3. 本文件属于 PaoTin++ 的一部分。
  4. PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
  5. 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
  6. */
  7. #func {string2list} {#list result {create} {%0}};
  8. #func {list2string} {#var result {%0}; #list result simplify};
  9. #func {strListSize} {#list l create {%0}; #list l size result};
  10. #func {indexOfStrList} {#list l create {%1}; #list l find {%2} result};
  11. #func {indexOf} {#var l {%1}; #list l find {%2} result};
  12. #func {inList} {#math result { @indexOf{{%1};{%2}} > 0 }};
  13. #func {sort} {#var l {%0}; #var l2 {}; #foreach {$l} {tmp} {#list l2 {sort} {$tmp}}; #return {@list2string{$l2}}};
  14. #func {sortList} {#var l {@list2string{%0}}; #var result {}; #foreach {$l} {tmp} {#list result {sort} {$tmp}}};
  15. #func {listSet} {#var l {%1}; #loc idx {%2}; #loc data {%3}; #var l @listExtend{{$l};$idx}; #list l set {$idx} {$data}; #return {$l} };
  16. #func {listExtend} {#var l {%1}; #loc len {@eval{@defaultNum{%2;0} - &l[]}}; #if { $len > 0 } { #loop {1} {$len} {id} { #list l add {{}} } }; #return {$l} };
  17. #func {reverseList} {
  18. #local list {%0};
  19. #var result {};
  20. #local len {&list[]};
  21. #if { $len > 0 } {
  22. #local idx {};
  23. #loop {$len} {1} {idx} {
  24. #list {result} add $list[$idx];
  25. };
  26. };
  27. };