local s = {}
local 简文件库 = require("lfs")
local ffi = require("ffi")
--~ 排
--~ 办排中值的能
--~ 入参2
--~ 入参3
--~ 入参4
function s.历排(u1_0, o1, o2, o3, o4)
local k1_0
--~ 集排
k1_0 = {}
for o5 = 1, #u1_0 do
k1_0[#k1_0 + 1] = o1(u1_0[o5], o2, o3, o4)
end
return k1_0
end
--~ 文
--~ 历文的能
--~ 入参2
--~ 入参3
function s.历文(o1, o2, o3, o4)
local k1_0
--~ 集排
k1_0 = {}
for o5 in o2(o1, o3, o4) do
k1_0[#k1_0 + 1] = o5
end
return k1_0
end
--~ 排
--~ 能
function s.历排取一(u1_0, o1)
local k1
for o2 = 1, #u1_0 do
--~ 值
k1 = s.历排取一的模(k1, u1_0[o2], o1)
end
return k1
end
--~ 值
--~ 排中值
function s.历排取一的模(o1, o2, o3)
if o1 == nil then
return o2
elseif o3(o1, o2) then
return o2
else
return o1
end
end
--~ 对
--~ 能
function s.历对取一(u1_0, o1)
local k1, k2
for o2, u2_0 in pairs(u1_0) do
--~ 键
--~ 值
k1, k2 = s.历对取一的模(k1, k2, o2, u2_0, o1)
end
return k1, k2
end
function s.历对取一的模(o1, o2, o3, o4, o5)
if o1 == nil then
return o3, o4
elseif o5(o1, o2, o3, o4) then
return o3, o4
else
return o1, o2
end
end
function s.历对(u1_0, o1, o2)
local k1
local k1_0, k2_0
--~ 对
k1_0 = {}
for o3, u2_0 in pairs(u1_0) do
--~ 键
--~ 值
k1, k2_0 = o1(o3, u2_0, o2)
if k1 then
k1_0[k1] = k2_0
else
end
end
return k1_0
end
--~ 排中值
--~ 值类
--~ 办值的能
function s.操类(u1_0, o1, o2)
if type(u1_0) == o1 then
return o2(u1_0)
else
return u1_0
end
end
--~ 排中文
--~ 入参2
--~ 入参3
--~ 入参4
function s.全筛文(o1, o2, o3, o4)
print(4)
if string.find(o1, o2, o3, o4) then
return o1
end
end
--~ 文
--~ 前缀
function s.加前缀(o1, o2)
return (o2 or "") .. o1
end
--~ 文
--~ 后缀
function s.加后缀(o1, o2)
return o1 .. (o2 or "")
end
--~ 令
function s.办令(o1)
print(o1)
os.execute(o1)
end
--~ 文
--~ 前缀
function s.全筛前缀(o1, o2)
if string.sub(o1, 1, #o2) == o2 then
return o1
end
end
--~ 文
--~ 后缀
function s.全筛后缀(o1, o2)
if string.sub(o1, -#o2) == o2 then
return o1
end
end
--~ 目对
function s.用令行工具操文件(u1_0)
local k1_9
--~ 令行排
k1_9 = s.历文(u1_0.文件目, 简文件库.dir)
k1_9 = s.历排(k1_9, s.全筛后缀, u1_0.文件类)
for o1 = 1, #k1_9 do
k1_9[o1] = s.加前缀(k1_9[o1], u1_0.文件目)
k1_9[o1] = s.加前缀(k1_9[o1], [["]])
k1_9[o1] = s.加后缀(k1_9[o1], [["]])
k1_9[o1] = s.加前缀(k1_9[o1], u1_0.令行前缀)
s.办令(k1_9[o1])
end
end
--~ 文件路
--~ 式
function s.读文件(o1, o2)
local k1
local k1_3
--~ 文件
k1_3 = io.open(o1, o2 or "r")
--~ 文
k1 = k1_3:read("a")
k1_3:flush()
k1_3:close()
return k1
end
--~ 常量排
function s.加对限(u1_0)
table.insert(u1_0, 1, "local k1_0 = {}")
table.insert(u1_0, "return k1_0")
return table.concat(u1_0, "\n")
end
--~ 文
--~ 文件路
--~ 式
function s.写文件(o1, o2, o3)
local k1_3
--~ 文件
k1_3 = io.open(o2, o3 or "w")
k1_3:write(o1)
k1_3:flush()
k1_3:close()
end
--~ 文
function s.删左右空白(o1)
o1 = string.gsub(o1, "^%s+", "")
return string.gsub(o1, "%s+$", "")
end
--~ 对
--~ 对
function s.连两对(u1_0, u2_0)
for u3_0, u4_0 in pairs(u2_0) do
u1_0[u3_0] = u4_0
end
return u1_0
end
--~ 键
--~ 值
function s.修对类(u1_0, u2_0)
if tonumber(u1_0) then
return tonumber(u1_0), u2_0
else
return u1_0, u2_0
end
end
do
--~ 加数
local k1 = 0
function s.递增()
k1 = k1 + 1
return k1
end
end
--~ 左加数
--~ 右加数
function s.加法(o1, o2)
return o1 + o2
end
--~ 左减数
--~ 右减数
function s.减法(o1, o2)
return o1 - o2
end
--~ 左乘数
--~ 右乘数
function s.乘法(o1, o2)
return o1 * o2
end
--~ 左除数
--~ 右除数
function s.除法(o1, o2)
return o1 / o2
end
--~ 左数
--~ 右数
function s.位和(o1, o2)
return bit.band(o1, o2)
end
--~ 数
--~ 右移几位
function s.位右移(o1, o2)
return bit.rshift(o1, o2)
end
--~ 键
--~ 最大值
--~ 键
--~ 值
function s.筛对中最大值(o1, o2, o3, o4)
if o2 < o4 then
return true
end
end
--~ 最短键
--~ 值
--~ 键
--~ 值
function s.筛对中最短键(o1, o2, o3, o4)
if #o1 > #o3 then
return true
end
end
--~ 最短文
--~ 值
function s.筛排中最短文(o1, o2)
if #o1 > #o2 then
return true
end
end
--~ 内数
function s.to_uint64(o1)
local uint64_pointer = ffi.new("uint64_t[1]", o1)
return uint64_pointer[0]
end
--~ 键
--~ 值
--~ 要找的值
function s.全等筛对中值(o1, o2, o3)
if o2 == o3 then
return o1, o2
else
end
end
return s