游戏王残局简化版

常用库.lua at [c67edd94ca]
Login

常用库.lua at [c67edd94ca]

File 残局文料/lua_lib/常用库.lua artifact 4641df3a1b part of check-in c67edd94ca


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, o4_0 in pairs(u2_0) do
    u1_0[u3_0] = o4_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