|
|
@@ -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];
|
|
|
+};
|