哈希链表


写入键值

TJ_HashTableInsert 参数1 参数2

参数位置 参数说明
参数1 标识字符串
参数2 键值(可为数字或字符串)
[@测试]
#IF
CHECKLEVELEX > 0
#ACT
TJ_HashTableInsert 杀手 一号战队
SENDMSG 5 玩家"杀手"加入一号战队
break

查找键值

TJ_CheckHashTableExist 参数1

参数位置 参数说明
参数1 标识字符串(不区分大小写)
[@测试]
#IF
TJ_CheckHashTableExist 杀手
#ACT
SENDMSG 5 玩家“小杀”已存在记录中
break

获取键值

TJ_HashTableGet 参数1 参数2

参数位置 参数说明
参数1 标识字符串(不区分大小写)
参数2 获取保存后的变量(不区分大小写)
[@测试]
#IF
TJ_CheckHashTableExist 杀手
#ACT
TJ_HashTableGet 杀手 <$STR(S10)>
SENDMSG 5 玩家“小杀”当前键值为[<$STR(S10)>]
break
#ELSEACT
SENDMSG 5 未找到“杀手”任何记录
break

删除键值

TJ_HashTableRemove 参数1

参数位置 参数说明
参数1 标识字符串(不区分大小写)
[@测试]
#IF
TJ_CheckHashTableExist 杀手
#ACT
TJ_HashTableRemove 杀手 
SENDMSG 5 玩家“小杀”已删除记录
break

清除所有键值

TJ_HashTableClear

[@测试]
#IF
CHECKLEVELEX > 0
#ACT
TJ_HashTableClear
SENDMSG 5 已清除所有键值记录
break

载入文本内容到键值

TJ_HashTableLoad 参数1 参数2 参数3

参数位置 参数说明
参数1 文本路径
参数2 键值(可为数字或字符串)
参数3 分割符(该参数忽略则视为换行符)
[@测试]
#IF
CHECKLEVELEX > 0
#ACT
TJ_HashTableLoad ..\QuestDiary\战队成员.txt 一号战队
SENDMSG 5 该文本内的所有玩家加入“一号战队”
break

“战队成员.txt”文本内容如下:(文本玩家每行一个名字,则 TJ_HashTableLoad 命令最后一个参数可为空) 

杀手
小杀
魔尊
雄霸

(扩展)载入文本内容到键值

TJ_HashTableLoadEx 参数1 参数2 参数3

参数位置 参数说明
参数1 文本路径
参数2 标识符前缀附加值
参数3 键值(可为数字或字符串)
参数4 分割符(该参数忽略则视为换行符)
[@测试]
#IF
CHECKLEVELEX > 0
#ACT
TJ_HashTableLoadEx ..\QuestDiary\战队成员.txt 情义天下 一号战队
SENDMSG 5 该文本内【情义天下】队伍所有玩家加入“一号战队”
break

“战队成员.txt”文本内容如下:(文本玩家每行一个名字,则 TJ_HashTableLoad 命令最后一个参数可为空) 

杀手
小杀
魔尊
雄霸

"使用前缀附加值后,查找、检测命令则需要添加前缀符号值。"

[@测试]
#IF
TJ_HashTableLoadEx 情义天下杀手
#ACT
SENDMSG 5 “情义天下杀手”已存在记录中
break

[@测试]
#IF
CHECKLEVELEX > 0
#ACT
TJ_HashTableGet 情义天下雄霸 <$STR(S10)>
SENDMSG 5 玩家“情义天下雄霸”当前是:[<$STR(S10)>]
break