1: package.path = [[.\lib\?.lua;]] .. package.path
2: package.cpath = [[.\lib\?.dll;]] .. package.cpath
3: local 字集码互转库 = require("u8_to_a")
4: local d_5 = {}
5: local 简件系库 = require("lfs")
6: --~ 程语_月_标准库_仿照_加多_多编码_大字集_通用
7: function d_5.require_通用大字集态_八位态(modname)
a2e76b01c2 2024-01-26 8: return require(字集码互转库.u8_to_a(modname))
a2e76b01c2 2024-01-26 9: end
10: do
a2e76b01c2 2024-01-26 11: local k1 = 0
a2e76b01c2 2024-01-26 12: function _G.递增示()
a2e76b01c2 2024-01-26 13: k1 = k1 + 1
a2e76b01c2 2024-01-26 14: print(k1)
a2e76b01c2 2024-01-26 15: end
a2e76b01c2 2024-01-26 16: end
17: --~ do
18: --~ local k1 = os.execute
19: --~ function _G.os.execute(command)
20: --~ return k1(字集码互转库.u2a(command))
21: --~ end
22: --~ end
23: function d_5.读件(o1, o2)
a2e76b01c2 2024-01-26 24: local k1
a2e76b01c2 2024-01-26 25: local k1_3
a2e76b01c2 2024-01-26 26: k1_3 = io.open(o1, o2 or "r")
a2e76b01c2 2024-01-26 27: k1 = k1_3:read("a")
a2e76b01c2 2024-01-26 28: k1_3:flush()
a2e76b01c2 2024-01-26 29: k1_3:close()
a2e76b01c2 2024-01-26 30: return k1
a2e76b01c2 2024-01-26 31: end
32: function d_5.读件排(o1_9, o1)
a2e76b01c2 2024-01-26 33: local k1_9
a2e76b01c2 2024-01-26 34: k1_9 = {}
a2e76b01c2 2024-01-26 35: for o2 = 1, #o1_9 do
a2e76b01c2 2024-01-26 36: k1_9[#k1_9 + 1] = d_5.读件(o1_9[o2], o1)
a2e76b01c2 2024-01-26 37: end
a2e76b01c2 2024-01-26 38: return k1_9
a2e76b01c2 2024-01-26 39: end
40: function d_5.写件(o1, o2, o3)
a2e76b01c2 2024-01-26 41: local k1_3
a2e76b01c2 2024-01-26 42: k1_3 = io.open(o1, o3 or "w")
a2e76b01c2 2024-01-26 43: k1_3:write(o2)
a2e76b01c2 2024-01-26 44: k1_3:flush()
a2e76b01c2 2024-01-26 45: k1_3:close()
a2e76b01c2 2024-01-26 46: end
47: function d_5.写件_一维(o1, o1_9, o2, o3)
a2e76b01c2 2024-01-26 48: local k1 = table.concat(o1_9, "\n")
a2e76b01c2 2024-01-26 49: if o3 then
a2e76b01c2 2024-01-26 50: k1 = o3(k1)
a2e76b01c2 2024-01-26 51: end
a2e76b01c2 2024-01-26 52: d_5.写件(o1, k1, o2)
a2e76b01c2 2024-01-26 53: end
54: function d_5.删制表符(o1)
a2e76b01c2 2024-01-26 55: return o1:gsub("\t", "")
a2e76b01c2 2024-01-26 56: end
57: --~ function d_5.删空白字(o1)
58: --~ return o1:gsub("%s", "")
59: --~ end
60: --~ function d_5.删空格与制表符(o1)
61: --~ o1 = d_5.删空格(o1)
62: --~ return d_5.删制表符(o1)
63: --~ end
64: function d_5.文转排(text)
a2e76b01c2 2024-01-26 65: local lines = {}
a2e76b01c2 2024-01-26 66: for line in text:gmatch("[^\n]+") do
a2e76b01c2 2024-01-26 67: table.insert(lines, line)
a2e76b01c2 2024-01-26 68: end
a2e76b01c2 2024-01-26 69: return lines
a2e76b01c2 2024-01-26 70: end
71: --~ function d_5.删前缀(o1, o2)
72: --~ if o1:find(o2, 1, true) then
73: --~ return o1:sub(#o2 + 1)
74: --~ end
75: --~ end
76: --~ function d_5.删后缀(o1, o2)
77: --~ if o1:find(o2, -1, true) then
78: --~ return o1:sub(1, #o1 - #o2)
79: --~ end
80: --~ end
81: --~ function d_5.删空行_不虑首末态(o1)
82: --~ return o1:gsub("\n+", "\n")
83: --~ end
84: --~ function d_5.删空行(o1)
85: --~ o1 = d_5.删空行_不虑首末态(o1)
86: --~ o1 = d_5.删前缀(o1, "\n")
87: --~ return d_5.删后缀(o1, "\n")
88: --~ end
89: function d_5.删空格(o1)
a2e76b01c2 2024-01-26 90: return o1:gsub(" ", "")
a2e76b01c2 2024-01-26 91: end
92: function d_5.筛排(o1_9, o1, o2, o3)
a2e76b01c2 2024-01-26 93: local k1_8
a2e76b01c2 2024-01-26 94: local k1_9
a2e76b01c2 2024-01-26 95: k1_9 = {}
a2e76b01c2 2024-01-26 96: for o4 = 1, #o1_9 do
a2e76b01c2 2024-01-26 97: k1_8 = o1(o1_9[o4], o2, o3)
a2e76b01c2 2024-01-26 98: if k1_8 then
a2e76b01c2 2024-01-26 99: k1_9[#k1_9 + 1] = k1_8
a2e76b01c2 2024-01-26 100: end
a2e76b01c2 2024-01-26 101: end
a2e76b01c2 2024-01-26 102: return k1_9
a2e76b01c2 2024-01-26 103: end
104: --~ function d_5.筛文(o1, o2, o3)
105: --~ local k1_9
106: --~ k1_9 = {}
107: --~ for o4 in o2(o1, o3) do
108: --~ k1_9[#k1_9 + 1] = o4
109: --~ end
110: --~ return k1_9
111: --~ end
112: --~ function d_5.判文(o1, o2, o3, o4)
113: --~ if o1:find(o2 or ".", o3, o4) then
114: --~ return o1
115: --~ end
116: --~ end
117: function d_5.筛件径(o1, o2)
a2e76b01c2 2024-01-26 118: local k1_9
a2e76b01c2 2024-01-26 119: k1_9 = d_5.筛文(o1, 简件系库.dir)
a2e76b01c2 2024-01-26 120: k1_9 = d_5.筛排(k1_9, d_5.加前缀, o1 .. "/")
a2e76b01c2 2024-01-26 121: k1_9 = d_5.筛排(k1_9, d_5.判文, o2)
a2e76b01c2 2024-01-26 122: return d_5.筛排(k1_9, d_5.在前后加英文双引号)
a2e76b01c2 2024-01-26 123: end
124: --~ function d_5.筛单行等式(o1)
125: --~ return 常用库.捕排(string.gmatch, o1, "[^\n= \t]+")
126: --~ end
127: --~ function d_5.捕非空单行(o1)
128: --~ return 常用库.捕排(string.gmatch, o1, "[^\n]+[\n]?")
129: --~ end
130: --~ function d_5.捕非空单行(o1)
131: --~ return 常用库.捕排(string.gmatch, o1, "[^\n]+[\n]?")
132: --~ end
133: function d_5.排转对(o1_12, o1)
a2e76b01c2 2024-01-26 134: local k1_5
a2e76b01c2 2024-01-26 135: local k1_11
a2e76b01c2 2024-01-26 136: k1_11 = {}
a2e76b01c2 2024-01-26 137: for o2 = 1, #o1_12, o1 + 1 do
a2e76b01c2 2024-01-26 138: k1_5 = {}
a2e76b01c2 2024-01-26 139: for o3 = 1, o1 do
a2e76b01c2 2024-01-26 140: k1_5[o3] = o1_12[o2 + o3]
a2e76b01c2 2024-01-26 141: end
a2e76b01c2 2024-01-26 142: k1_11[o1_12[o2]] = k1_5
a2e76b01c2 2024-01-26 143: end
a2e76b01c2 2024-01-26 144: return k1_11
a2e76b01c2 2024-01-26 145: end
146: --~ function d_5.加前缀(o1, o2)
147: --~ return o2 .. o1
148: --~ end
149: --~ function d_5.加后缀(o1, o2)
150: --~ return o1 .. o2
151: --~ end
152: function d_5.filterLinesWithCharacter(text, character)
a2e76b01c2 2024-01-26 153: local result = {}
a2e76b01c2 2024-01-26 154: local lines = d_5.文转排(text)
a2e76b01c2 2024-01-26 155: -- 遍历每一行,检查是否包含目标字符
a2e76b01c2 2024-01-26 156: for i, line in ipairs(lines) do
a2e76b01c2 2024-01-26 157: if line:find(character, 1, true) then
a2e76b01c2 2024-01-26 158: table.insert(result, line)
a2e76b01c2 2024-01-26 159: end
a2e76b01c2 2024-01-26 160: end
a2e76b01c2 2024-01-26 161: return result
a2e76b01c2 2024-01-26 162: end
163: function d_5.办令(o1)
a2e76b01c2 2024-01-26 164: print(o1)
a2e76b01c2 2024-01-26 165: os.execute(o1)
a2e76b01c2 2024-01-26 166: end
167: --~ function d_5.在前后加英文双引号(o1)
168: --~ return [["]] .. o1 .. [["]]
169: --~ end
170: --~ function d_5.筛单行等式_左右值态(o1)
171: --~ local k1_11
172: --~ k1_11 = {}
173: --~ for o2 in k1_11:gmatch("[^\n= \t]+") do
174: --~ table.insert(k1_11, o2)
175: --~ end
176: --~ return o2
177: --~ end
178: return d_5