跳轉到內容

MIRC 指令碼/進階/雜湊表

來自華夏公益教科書,開放的書,開放的世界

雜湊表

雜湊表允許您有效地儲存大量資訊,這些資訊可以快速引用並在以後檢索。

可以使用以下命令和識別符號建立、釋放、引用或修改雜湊表。

/hmake -s <name> <N> 建立一個具有 N 個槽的新雜湊表。

雜湊表可以儲存無限數量的項,無論您選擇的 N 是多少,但是 N 越大,它的工作速度越快,這取決於儲存的項的數量。

例如,如果您預計將在表中儲存 1000 個項,則將 N 設定為 100 的表就足夠了。

-s 開關使命令顯示結果。

/hfree -sw <name>

釋放現有的雜湊表。

-w 開關表示 name 是萬用字元,所有匹配的表都將被釋放。

/hadd -smbczuN <name> <item> [data | &binvar] 將項新增到現有雜湊表中。

如果您要新增的項已存在,則將替換舊項。

-m 開關使 /hadd 在雜湊表不存在時建立它。

-uN 開關在 N 秒後取消設定項。

-b 表示您正在將 &binvar 項新增到雜湊表中。

-c 開關將 &binvar 切割到第一個空值並將其視為純文字。

-z 開關每秒減少一次雜湊項,直到它達到零然後取消設定它。

/hinc 和 /hdec 命令使用與 /hadd 相同的引數,並增加或減少項的數值。

與 /hinc 或 /hdec 一起使用時,-c 開關每秒增加或減少一次值。

/hdel -sw <name> <item> 從雜湊表中刪除項。

-w 開關表示 item 是萬用字元,所有匹配的項都將被釋放。

/hload -sbni <name> <filename> [section] /hsave -sbnioau <name> <filename> [section] 將表載入到檔案或從檔案儲存。

這些將純文字載入到文字檔案或從文字檔案儲存,項和資料位於單獨的行上。$cr 和 $lf 字元在儲存為純文字時將被剝離。

-b 開關載入或儲存二進位制檔案。$cr 和 $lf 在儲存為二進位制檔案時將被保留。

您可以使用 -n 載入或儲存僅包含資料的檔案,不包含項。使用 -n 載入時,資料的每一行都將分配一個 N 項值,從 N = 1 開始。

/hsave 還支援 -o 覆蓋現有檔案,-a 附加到現有檔案。

預設情況下,/hsave 排除 /hadd -uN 取消設定列表中的項,-u 開關強制它包含取消設定的項。

-i 開關將檔案視為 ini 檔案。您可以在檔名後指定可選的節名稱。

注意:/hload 不會建立表,它必須已經由 /hmake 建立。

$hget(name/N) 如果存在,返回雜湊表的名稱,或返回第 N 個雜湊表的名稱。

屬性:size

$hget(moo).size 返回表的 N 大小,如 /hmake 中指定的那樣

$hget(name/N, item)

返回與指定雜湊表中項關聯的資料。

屬性:unset

unset 屬性返回項取消設定之前剩餘的時間。

$hget(name/N, item, &binvar) 將項的內容分配給 &binvar。

$hget(name/N, N).item 這允許您將表引用為從 0 到 N 的索引,以便查詢表中的第 N 個項。

如果 N 為零,則返回表中項的總數。

您還可以直接使用 $hget().data 引用第 N 個數據值。

注意:此方法作為一種便利提供,它不是使用雜湊表的有效方法。

$hfind(name/N, text, N, M) 在表中搜索與 text 匹配的第 N 個項名。返回項名。

屬性:data

如果您指定 .data 屬性,則搜尋匹配的資料值。

M 是可選的,可以是

n	normal text comparison (default if M isn't specified)
w	text is wildcard text
W	hash table item/data is wildcard text
r	text is regular expression
R	hash table item/data is regular expression
華夏公益教科書