Lines of
残局文料/lua_lib/常用库.lua
from check-in f4c48d2eb7
that are changed by the sequence of edits moving toward
check-in 7a7894a746:
1: local d = {}
2: local 简文件库 = require("lfs")
3: --~ 排
4: --~ 办排中值的能
5: --~ 入参2
6: --~ 入参3
7: --~ 入参4
8: function d.历排(o1_0, o1, o2_0, o3_0, o4_0)
9: local k1_0
10: --~ 集排
11: k1_0 = {}
12: for o2 = 1, #o1_0 do
13: k1_0[#k1_0 + 1] = o1(o1_0[o2], o2_0, o3_0, o4_0)
14: end
15: return k1_0
16: end
17: --~ 文
18: --~ 历文的能
19: --~ 入参2
20: --~ 入参3
21: function d.历文(o1, o2, o1_0, o2_0)
22: local k1_0
23: --~ 集排
24: k1_0 = {}
25: for o3_0 in o2(o1, o1_0, o2_0) do
26: k1_0[#k1_0 + 1] = o3_0
27: end
28: return k1_0
29: end
30: function d.历对(o1_0, o1)
31: local k1_0, k2_0, k3_0
32: --~ 对
33: k1_0 = {}
34: for o2_0, o3_0 in pairs(o1_0) do
35: --~ 键
36: --~ 值
37: k2_0, k3_0 = o1(o2_0, o3_0)
38: if k2_0 then
39: k1_0[k2_0] = k3_0
40: else
41: end
42: end
43: return k1_0
44: end
45: --~ 表中值
46: --~ 值类
47: --~ 办值的能
48: function d.操类(o1_0, o1, o2)
49: if type(o1_0) == o1 then
50: return o2(o1_0)
51: else
52: return o1_0
53: end
54: end
55: --~ 排中文
56: --~ 入参2
57: --~ 入参3
58: --~ 入参4
59: function d.全筛文(o1, o2, o3, o4)
60: if string.find(o1, o2, o3, o4) then
61: return o1
62: end
63: end
64: --~ 文
65: --~ 前缀
66: function d.加前缀(o1, o2)
67: return (o2 or "") .. o1
68: end
69: --~ 文
70: --~ 后缀
71: function d.加后缀(o1, o2)
72: return o1 .. (o2 or "")
73: end
74: --~ 令
75: function d.办令(o1)
76: print(o1)
77: os.execute(o1)
78: end
79: --~ 文
80: --~ 前缀
81: function d.全筛前缀(o1, o2)
82: if string.sub(o1, 1, #o2) == o2 then
83: return o1
84: end
85: end
86: --~ 文
87: --~ 后缀
88: function d.全筛后缀(o1, o2)
89: if string.sub(o1, -#o2) == o2 then
90: return o1
91: end
92: end
93: --~ 目对
94: function d.用令行工具操文件(o1_0)
95: local k1_9
96: --~ 令行排
97: k1_9 = d.历文(o1_0.文件目, 简文件库.dir)
98: k1_9 = d.历排(k1_9, d.全筛后缀, o1_0.文件类)
99: for o1 = 1, #k1_9 do
100: k1_9[o1] = d.加前缀(k1_9[o1], o1_0.文件目)
101: k1_9[o1] = d.加前缀(k1_9[o1], [["]])
102: k1_9[o1] = d.加后缀(k1_9[o1], [["]])
103: k1_9[o1] = d.加前缀(k1_9[o1], o1_0.令行前缀)
104: d.办令(k1_9[o1])
105: end
106: end
107: --~ 文件路
108: --~ 式
109: function d.读文件(o1, o2)
110: local k1
111: local k1_3
112: --~ 文件
113: k1_3 = io.open(o1, o2 or "r")
114: --~ 文
115: k1 = k1_3:read("a")
116: k1_3:flush()
117: k1_3:close()
118: return k1
119: end
120: --~ 常量排
121: function d.加对限(o1_0)
122: table.insert(o1_0, 1, "local k1_0 = {}")
123: table.insert(o1_0, "return k1_0")
124: return table.concat(o1_0, "\n")
125: end
126: --~ 文
127: --~ 文件路
128: --~ 式
129: function d.写文件(o1, o2, o3)
130: local k1_3
131: --~ 文件
132: k1_3 = io.open(o2, o3 or "w")
133: k1_3:write(o1)
134: k1_3:flush()
135: k1_3:close()
136: end
137: --~ 文
138: function d.删左右空白(o1)
139: o1 = string.gsub(o1, "^%s+", "")
140: return string.gsub(o1, "%s+$", "")
141: end
142: --~ 对
143: --~ 对
144: function d.连两对(o1_0, o2_0)
145: for o3_0, o4_0 in pairs(o2_0) do
146: o1_0[o3_0] = o4_0
147: end
148: return o1_0
149: end
150: --~ 键
151: --~ 值
152: function d.修对类(o1_0, o2_0)
153: if tonumber(o1_0) then
154: return tonumber(o1_0), o2_0
155: else
156: return o1_0, o2_0
157: end
158: end
159: do
160: --~ 加数
161: local k1 = 0
162: function d.递增()
163: k1 = k1 + 1
164: return k1
165: end
166: end
167: --~ 左加数
168: --~ 右加数
169: function d.加法(o1, o2)
170: return o1 + o2
171: end
172: --~ 左减数
173: --~ 右减数
174: function d.减法(o1, o2)
175: return o1 - o2
176: end
177: --~ 左乘数
178: --~ 右乘数
179: function d.乘法(o1, o2)
180: return o1 * o2
181: end
182: --~ 左除数
183: --~ 右除数
184: function d.除法(o1, o2)
185: return o1 / o2
186: end
187: return d