id.tin 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. #nop vim: set filetype=tt:;
  2. /*
  3. 本文件属于 PaoTin++ 的一部分。
  4. PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
  5. 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
  6. */
  7. #nop 本文件是 xtintin 的一部分,实现了自增 ID 功能。;
  8. VAR {自增 ID 当前值} {id.ID} {};
  9. ///=== {
  10. ///// 自增 ID 相关函数
  11. /////
  12. // #@ ID [<KEY>]
  13. // 取出新 ID,其值比上次自动加一。
  14. // 可选的 KEY 是自增计数器的标识符,如果担心和其它代码冲突,可以提供一个别致的标识符。
  15. // };
  16. #func {ID} {
  17. #local key {@default{%1;__DEFAULT__}};
  18. #math id.ID[$key] {$id.ID[$key] + 1};
  19. #return {$id.ID[$key]};
  20. };
  21. ///=== {
  22. // ## id.Reset [<KEY>]
  23. // 重置 ID,下次将取到 1。
  24. // 可选的 KEY 是自增计数器的标识符,如果担心和其它代码冲突,可以提供一个别致的标识符。
  25. // };
  26. #alias {id.Reset} {
  27. #local key {@default{%1;__DEFAULT__}};
  28. #unvar id.ID[$key];
  29. };