Эх сурвалжийг харах

feat(xtintin): 新增自增计数器功能

dzp 2 жил өмнө
parent
commit
718be6ee13

+ 1 - 0
plugins/lib/xtintin/__init__.tin

@@ -24,6 +24,7 @@ load-file plugins/lib/xtintin/default.tin;
 load-file plugins/lib/xtintin/cmds.tin;
 load-file plugins/lib/xtintin/mslp.tin;
 load-file plugins/lib/xtintin/buffer.tin;
+load-file plugins/lib/xtintin/id.tin;
 
 ///=== {
 ///// 以上文档采用 PaoTin++ 的文档化注释工具生成。

+ 34 - 0
plugins/lib/xtintin/id.tin

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