--[[ desc: STRING, a lib that encapsulate string function. author: Musoucrow since: 2018-8-13 alter: 2018-12-31 ]]-- local _UTF8 = require("utf8") local _CONFIG = require("config") ---@class Lib.STRING local _STRING = { colorMap = { w = {255, 255, 255, 255}, --white W = {255, 255, 230, 255}, B = {0, 0, 0, 0}, --black r = {255, 100, 100, 255}, --red R = {255, 0, 0, 255}, g = {180, 255, 180, 255}, --green b = {200, 255, 255, 255}, --blue y = {255, 255, 180, 255}, --yellow o = {255, 200, 55, 255}, --orange p = {255, 150, 255, 255}, --pink P = {255, 50, 255, 255}, --purple G = {192, 192, 192, 255}, --grey D = {233, 218, 195, 255} --dialog } } ---@param map table ---@return string function _STRING.GetVersion(map) if (map == nil) then return "" elseif (type(map) == "string") then return map end return map[_CONFIG.setting.language] end ---@param content string ---@return table | string function _STRING.Colorize(content) if (type(content) == "table" or not string.find(content, "|")) then return content end local list = _STRING.Split(content, "|") local ret = {} for n=1, #list do if (#list[n] > 1) then local color = n == 1 and _STRING.colorMap.w or _STRING.colorMap[string.sub(list[n], 1, 1)] local text = n == 1 and list[n] or string.sub(list[n], 2) table.insert(ret, color) table.insert(ret, text) end end return ret end
时间: 2024-04-22 14:26:35 浏览: 114
KSI2301CDS-T1-GE3 SOT-23 A1sHB.pdf
这段代码定义了一个名为 `_STRING` 的字符串库,用于封装字符串相关的函数。
该库包含以下属性:
- `colorMap`:颜色映射表,用于将字符映射到对应的颜色值。
该库包含以下方法:
- `GetVersion(map)`:根据传入的语言映射表 `map`,返回对应语言的版本字符串。如果 `map` 为 `nil`,则返回空字符串;如果 `map` 是字符串类型,直接返回该字符串;否则,根据当前设置的语言返回对应的版本字符串。
- `Colorize(content)`:将文本内容 `content` 进行颜色标记。如果 `content` 是一个表格或不包含 `|` 字符,则直接返回 `content`;否则,将文本按 `|` 字符进行切割,并根据切割后的片段设置对应的颜色,并以表格形式返回。
通过这些方法,可以实现对字符串的一些操作,例如获取指定语言的版本字符串和对文本进行颜色标记。该库还可能依赖了其他模块(例如 `utf8` 和 `config`)来完成一些功能。
阅读全文