游戏王残局简化版

Annotation For 残局文料/lua_lib/常用库.lua
Login

Annotation For 残局文料/lua_lib/常用库.lua

Origin for each line in 残局文料/lua_lib/常用库.lua from check-in 96c0a5322f:

9942dfa51d 2024-02-04  顽雨沉风: local d = {}
1fd4d78c98 2024-02-03  顽雨沉风: local 简文件库 = require("lfs")
91958121fe 2024-02-05  顽雨沉风: local ffi = require("ffi")
2c6261c44d 2024-02-03  顽雨沉风: --~ 排
2c6261c44d 2024-02-03  顽雨沉风: --~ 办排中值的能
fb63b2804e 2024-02-03  顽雨沉风: --~ 入参2
fb63b2804e 2024-02-03  顽雨沉风: --~ 入参3
fb63b2804e 2024-02-03  顽雨沉风: --~ 入参4
02fb4461e1 2024-02-05  顽雨沉风: function d.历排(o1_0, o1, o2, o3, o4)
dbb3ab98a4 2024-02-03  顽雨沉风:   local k1_0
fb63b2804e 2024-02-03  顽雨沉风:   --~ 集排
dbb3ab98a4 2024-02-03  顽雨沉风:   k1_0 = {}
02fb4461e1 2024-02-05  顽雨沉风:   for o5 = 1, #o1_0 do
02fb4461e1 2024-02-05  顽雨沉风:     k1_0[#k1_0 + 1] = o1(o1_0[o5], o2, o3, o4)
fb63b2804e 2024-02-03  顽雨沉风:     end
dbb3ab98a4 2024-02-03  顽雨沉风:   return k1_0
fb63b2804e 2024-02-03  顽雨沉风:   end
fb63b2804e 2024-02-03  顽雨沉风: --~ 文
fb63b2804e 2024-02-03  顽雨沉风: --~ 历文的能
fb63b2804e 2024-02-03  顽雨沉风: --~ 入参2
fb63b2804e 2024-02-03  顽雨沉风: --~ 入参3
02fb4461e1 2024-02-05  顽雨沉风: function d.历文(o1, o2, o3, o4)
4af7b78130 2024-02-03  顽雨沉风:   local k1_0
0b316b136c 2024-02-03  顽雨沉风:   --~ 集排
4af7b78130 2024-02-03  顽雨沉风:   k1_0 = {}
02fb4461e1 2024-02-05  顽雨沉风:   for o5 in o2(o1, o3, o4) do
02fb4461e1 2024-02-05  顽雨沉风:     k1_0[#k1_0 + 1] = o5
f4c48d2eb7 2024-02-05  顽雨沉风:     end
f4c48d2eb7 2024-02-05  顽雨沉风:   return k1_0
f4c48d2eb7 2024-02-05  顽雨沉风:   end
c4461ce231 2024-02-05  顽雨沉风: --~ 排
c4461ce231 2024-02-05  顽雨沉风: --~ 能
c4461ce231 2024-02-05  顽雨沉风: function d.历排取一(o1_0, o1)
c4461ce231 2024-02-05  顽雨沉风:   local k1
c4461ce231 2024-02-05  顽雨沉风:   for o2 = 1, #o1_0 do
c4461ce231 2024-02-05  顽雨沉风:     --~ 值
abd9f389ae 2024-02-05  顽雨沉风:     k1 = d.历排取一的模(k1, o1_0[o2], o1)
c4461ce231 2024-02-05  顽雨沉风:     end
c4461ce231 2024-02-05  顽雨沉风:   return k1
abd9f389ae 2024-02-05  顽雨沉风:   end
abd9f389ae 2024-02-05  顽雨沉风: --~ 值
abd9f389ae 2024-02-05  顽雨沉风: --~ 排中值
abd9f389ae 2024-02-05  顽雨沉风: function d.历排取一的模(o1, o2, o3)
abd9f389ae 2024-02-05  顽雨沉风:   if o1 == nil then
abd9f389ae 2024-02-05  顽雨沉风:     return o2
abd9f389ae 2024-02-05  顽雨沉风:   elseif o3(o1, o2) then
abd9f389ae 2024-02-05  顽雨沉风:     return o2
abd9f389ae 2024-02-05  顽雨沉风:   else
abd9f389ae 2024-02-05  顽雨沉风:     return o1
abd9f389ae 2024-02-05  顽雨沉风:     end
c4461ce231 2024-02-05  顽雨沉风:   end
c4461ce231 2024-02-05  顽雨沉风: --~ 对
c4461ce231 2024-02-05  顽雨沉风: --~ 能
c4461ce231 2024-02-05  顽雨沉风: function d.历对取一(o1_0, o1)
c4461ce231 2024-02-05  顽雨沉风:   local k1, k2
c4461ce231 2024-02-05  顽雨沉风:   for o2, o2_0 in pairs(o1_0) do
c4461ce231 2024-02-05  顽雨沉风:     --~ 键
c4461ce231 2024-02-05  顽雨沉风:     --~ 值
abd9f389ae 2024-02-05  顽雨沉风:     k1, k2 = d.历对取一的模(k1, k2, o2, o2_0, o1)
c4461ce231 2024-02-05  顽雨沉风:     end
c4461ce231 2024-02-05  顽雨沉风:   return k1, k2
abd9f389ae 2024-02-05  顽雨沉风:   end
abd9f389ae 2024-02-05  顽雨沉风: function d.历对取一的模(o1, o2, o3, o4, o5)
abd9f389ae 2024-02-05  顽雨沉风:   if o1 == nil then
abd9f389ae 2024-02-05  顽雨沉风:     return o3, o4
abd9f389ae 2024-02-05  顽雨沉风:   elseif o5(o1, o2, o3, o4) then
abd9f389ae 2024-02-05  顽雨沉风:     return o3, o4
abd9f389ae 2024-02-05  顽雨沉风:   else
abd9f389ae 2024-02-05  顽雨沉风:     return o1, o2
abd9f389ae 2024-02-05  顽雨沉风:     end
c4461ce231 2024-02-05  顽雨沉风:   end
c4461ce231 2024-02-05  顽雨沉风: function d.历对(o1_0, o1, o2)
91958121fe 2024-02-05  顽雨沉风:   local k1
91958121fe 2024-02-05  顽雨沉风:   local k1_0, k2_0
f4c48d2eb7 2024-02-05  顽雨沉风:   --~ 对
f4c48d2eb7 2024-02-05  顽雨沉风:   k1_0 = {}
c4461ce231 2024-02-05  顽雨沉风:   for o3, o2_0 in pairs(o1_0) do
f4c48d2eb7 2024-02-05  顽雨沉风:     --~ 键
f4c48d2eb7 2024-02-05  顽雨沉风:     --~ 值
c4461ce231 2024-02-05  顽雨沉风:     k1, k2_0 = o1(o3, o2_0, o2)
91958121fe 2024-02-05  顽雨沉风:     if k1 then
91958121fe 2024-02-05  顽雨沉风:       k1_0[k1] = k2_0
f4c48d2eb7 2024-02-05  顽雨沉风:     else
f4c48d2eb7 2024-02-05  顽雨沉风:       end
4af7b78130 2024-02-03  顽雨沉风:     end
4af7b78130 2024-02-03  顽雨沉风:   return k1_0
4af7b78130 2024-02-03  顽雨沉风:   end
c4461ce231 2024-02-05  顽雨沉风: --~ 排中值
4af7b78130 2024-02-03  顽雨沉风: --~ 值类
4af7b78130 2024-02-03  顽雨沉风: --~ 办值的能
9942dfa51d 2024-02-04  顽雨沉风: function d.操类(o1_0, o1, o2)
733d68b305 2024-02-04  顽雨沉风:   if type(o1_0) == o1 then
733d68b305 2024-02-04  顽雨沉风:     return o2(o1_0)
4af7b78130 2024-02-03  顽雨沉风:   else
733d68b305 2024-02-04  顽雨沉风:     return o1_0
1fd4d78c98 2024-02-03  顽雨沉风:     end
1fd4d78c98 2024-02-03  顽雨沉风:   end
1fd4d78c98 2024-02-03  顽雨沉风: --~ 排中文
1fd4d78c98 2024-02-03  顽雨沉风: --~ 入参2
1fd4d78c98 2024-02-03  顽雨沉风: --~ 入参3
1fd4d78c98 2024-02-03  顽雨沉风: --~ 入参4
9942dfa51d 2024-02-04  顽雨沉风: function d.全筛文(o1, o2, o3, o4)
96c0a5322f 2024-02-12  顽雨沉风:   print(4)
d1b9d0d34f 2024-02-03  顽雨沉风:   if string.find(o1, o2, o3, o4) then
e94f91e6b3 2024-02-03  顽雨沉风:     return o1
e94f91e6b3 2024-02-03  顽雨沉风:     end
e94f91e6b3 2024-02-03  顽雨沉风:   end
e94f91e6b3 2024-02-03  顽雨沉风: --~ 文
e94f91e6b3 2024-02-03  顽雨沉风: --~ 前缀
9942dfa51d 2024-02-04  顽雨沉风: function d.加前缀(o1, o2)
4d150d683b 2024-02-03  顽雨沉风:   return (o2 or "") .. o1
4d150d683b 2024-02-03  顽雨沉风:   end
4d150d683b 2024-02-03  顽雨沉风: --~ 文
4d150d683b 2024-02-03  顽雨沉风: --~ 后缀
9942dfa51d 2024-02-04  顽雨沉风: function d.加后缀(o1, o2)
4d150d683b 2024-02-03  顽雨沉风:   return o1 .. (o2 or "")
4d150d683b 2024-02-03  顽雨沉风:   end
4d150d683b 2024-02-03  顽雨沉风: --~ 令
9942dfa51d 2024-02-04  顽雨沉风: function d.办令(o1)
4d150d683b 2024-02-03  顽雨沉风:   print(o1)
4d150d683b 2024-02-03  顽雨沉风:   os.execute(o1)
4d150d683b 2024-02-03  顽雨沉风:   end
4d150d683b 2024-02-03  顽雨沉风: --~ 文
4d150d683b 2024-02-03  顽雨沉风: --~ 前缀
9942dfa51d 2024-02-04  顽雨沉风: function d.全筛前缀(o1, o2)
4d150d683b 2024-02-03  顽雨沉风:   if string.sub(o1, 1, #o2) == o2 then
4d150d683b 2024-02-03  顽雨沉风:     return o1
4d150d683b 2024-02-03  顽雨沉风:     end
4d150d683b 2024-02-03  顽雨沉风:   end
4d150d683b 2024-02-03  顽雨沉风: --~ 文
4d150d683b 2024-02-03  顽雨沉风: --~ 后缀
9942dfa51d 2024-02-04  顽雨沉风: function d.全筛后缀(o1, o2)
168300f866 2024-02-03  顽雨沉风:   if string.sub(o1, -#o2) == o2 then
168300f866 2024-02-03  顽雨沉风:     return o1
168300f866 2024-02-03  顽雨沉风:     end
168300f866 2024-02-03  顽雨沉风:   end
0ebfa0e128 2024-02-04  顽雨沉风: --~ 目对
9942dfa51d 2024-02-04  顽雨沉风: function d.用令行工具操文件(o1_0)
4e48ffd0e5 2024-02-03  顽雨沉风:   local k1_9
4e48ffd0e5 2024-02-03  顽雨沉风:   --~ 令行排
9942dfa51d 2024-02-04  顽雨沉风:   k1_9 = d.历文(o1_0.文件目, 简文件库.dir)
9942dfa51d 2024-02-04  顽雨沉风:   k1_9 = d.历排(k1_9, d.全筛后缀, o1_0.文件类)
0ebfa0e128 2024-02-04  顽雨沉风:   for o1 = 1, #k1_9 do
9942dfa51d 2024-02-04  顽雨沉风:     k1_9[o1] = d.加前缀(k1_9[o1], o1_0.文件目)
9942dfa51d 2024-02-04  顽雨沉风:     k1_9[o1] = d.加前缀(k1_9[o1], [["]])
9942dfa51d 2024-02-04  顽雨沉风:     k1_9[o1] = d.加后缀(k1_9[o1], [["]])
9942dfa51d 2024-02-04  顽雨沉风:     k1_9[o1] = d.加前缀(k1_9[o1], o1_0.令行前缀)
9942dfa51d 2024-02-04  顽雨沉风:     d.办令(k1_9[o1])
4e48ffd0e5 2024-02-03  顽雨沉风:     end
4e48ffd0e5 2024-02-03  顽雨沉风:   end
4e48ffd0e5 2024-02-03  顽雨沉风: --~ 文件路
4e48ffd0e5 2024-02-03  顽雨沉风: --~ 式
9942dfa51d 2024-02-04  顽雨沉风: function d.读文件(o1, o2)
4e48ffd0e5 2024-02-03  顽雨沉风:   local k1
4e48ffd0e5 2024-02-03  顽雨沉风:   local k1_3
4e48ffd0e5 2024-02-03  顽雨沉风:   --~ 文件
4e48ffd0e5 2024-02-03  顽雨沉风:   k1_3 = io.open(o1, o2 or "r")
4e48ffd0e5 2024-02-03  顽雨沉风:   --~ 文
4e48ffd0e5 2024-02-03  顽雨沉风:   k1 = k1_3:read("a")
4e48ffd0e5 2024-02-03  顽雨沉风:   k1_3:flush()
4e48ffd0e5 2024-02-03  顽雨沉风:   k1_3:close()
4e48ffd0e5 2024-02-03  顽雨沉风:   return k1
4e48ffd0e5 2024-02-03  顽雨沉风:   end
4e48ffd0e5 2024-02-03  顽雨沉风: --~ 常量排
9942dfa51d 2024-02-04  顽雨沉风: function d.加对限(o1_0)
b92c73c8f3 2024-02-04  顽雨沉风:   table.insert(o1_0, 1, "local k1_0 = {}")
b92c73c8f3 2024-02-04  顽雨沉风:   table.insert(o1_0, "return k1_0")
b92c73c8f3 2024-02-04  顽雨沉风:   return table.concat(o1_0, "\n")
4e48ffd0e5 2024-02-03  顽雨沉风:   end
4e48ffd0e5 2024-02-03  顽雨沉风: --~ 文
4e48ffd0e5 2024-02-03  顽雨沉风: --~ 文件路
4e48ffd0e5 2024-02-03  顽雨沉风: --~ 式
9942dfa51d 2024-02-04  顽雨沉风: function d.写文件(o1, o2, o3)
168300f866 2024-02-03  顽雨沉风:   local k1_3
168300f866 2024-02-03  顽雨沉风:   --~ 文件
168300f866 2024-02-03  顽雨沉风:   k1_3 = io.open(o2, o3 or "w")
168300f866 2024-02-03  顽雨沉风:   k1_3:write(o1)
168300f866 2024-02-03  顽雨沉风:   k1_3:flush()
168300f866 2024-02-03  顽雨沉风:   k1_3:close()
168300f866 2024-02-03  顽雨沉风:   end
1b64e61bc7 2024-02-04  顽雨沉风: --~ 文
9942dfa51d 2024-02-04  顽雨沉风: function d.删左右空白(o1)
168300f866 2024-02-03  顽雨沉风:   o1 = string.gsub(o1, "^%s+", "")
168300f866 2024-02-03  顽雨沉风:   return string.gsub(o1, "%s+$", "")
f4c48d2eb7 2024-02-05  顽雨沉风:   end
f4c48d2eb7 2024-02-05  顽雨沉风: --~ 对
f4c48d2eb7 2024-02-05  顽雨沉风: --~ 对
f4c48d2eb7 2024-02-05  顽雨沉风: function d.连两对(o1_0, o2_0)
f4c48d2eb7 2024-02-05  顽雨沉风:   for o3_0, o4_0 in pairs(o2_0) do
f4c48d2eb7 2024-02-05  顽雨沉风:     o1_0[o3_0] = o4_0
f4c48d2eb7 2024-02-05  顽雨沉风:     end
f4c48d2eb7 2024-02-05  顽雨沉风:   return o1_0
f4c48d2eb7 2024-02-05  顽雨沉风:   end
f4c48d2eb7 2024-02-05  顽雨沉风: --~ 键
f4c48d2eb7 2024-02-05  顽雨沉风: --~ 值
f4c48d2eb7 2024-02-05  顽雨沉风: function d.修对类(o1_0, o2_0)
f4c48d2eb7 2024-02-05  顽雨沉风:   if tonumber(o1_0) then
f4c48d2eb7 2024-02-05  顽雨沉风:     return tonumber(o1_0), o2_0
f4c48d2eb7 2024-02-05  顽雨沉风:   else
f4c48d2eb7 2024-02-05  顽雨沉风:     return o1_0, o2_0
f4c48d2eb7 2024-02-05  顽雨沉风:     end
f4c48d2eb7 2024-02-05  顽雨沉风:   end
f4c48d2eb7 2024-02-05  顽雨沉风: do
f4c48d2eb7 2024-02-05  顽雨沉风:   --~ 加数
f4c48d2eb7 2024-02-05  顽雨沉风:   local k1 = 0
f4c48d2eb7 2024-02-05  顽雨沉风:   function d.递增()
f4c48d2eb7 2024-02-05  顽雨沉风:     k1 = k1 + 1
f4c48d2eb7 2024-02-05  顽雨沉风:     return k1
f4c48d2eb7 2024-02-05  顽雨沉风:     end
f4c48d2eb7 2024-02-05  顽雨沉风:   end
f4c48d2eb7 2024-02-05  顽雨沉风: --~ 左加数
f4c48d2eb7 2024-02-05  顽雨沉风: --~ 右加数
f4c48d2eb7 2024-02-05  顽雨沉风: function d.加法(o1, o2)
f4c48d2eb7 2024-02-05  顽雨沉风:   return o1 + o2
f4c48d2eb7 2024-02-05  顽雨沉风:   end
f4c48d2eb7 2024-02-05  顽雨沉风: --~ 左减数
f4c48d2eb7 2024-02-05  顽雨沉风: --~ 右减数
f4c48d2eb7 2024-02-05  顽雨沉风: function d.减法(o1, o2)
f4c48d2eb7 2024-02-05  顽雨沉风:   return o1 - o2
f4c48d2eb7 2024-02-05  顽雨沉风:   end
f4c48d2eb7 2024-02-05  顽雨沉风: --~ 左乘数
f4c48d2eb7 2024-02-05  顽雨沉风: --~ 右乘数
f4c48d2eb7 2024-02-05  顽雨沉风: function d.乘法(o1, o2)
f4c48d2eb7 2024-02-05  顽雨沉风:   return o1 * o2
f4c48d2eb7 2024-02-05  顽雨沉风:   end
f4c48d2eb7 2024-02-05  顽雨沉风: --~ 左除数
f4c48d2eb7 2024-02-05  顽雨沉风: --~ 右除数
f4c48d2eb7 2024-02-05  顽雨沉风: function d.除法(o1, o2)
f4c48d2eb7 2024-02-05  顽雨沉风:   return o1 / o2
7a7894a746 2024-02-05  顽雨沉风:   end
7a7894a746 2024-02-05  顽雨沉风: --~ 左数
7a7894a746 2024-02-05  顽雨沉风: --~ 右数
7a7894a746 2024-02-05  顽雨沉风: function d.位和(o1, o2)
7a7894a746 2024-02-05  顽雨沉风:   return bit.band(o1, o2)
6bd570d52a 2024-02-05  顽雨沉风:   end
91958121fe 2024-02-05  顽雨沉风: --~ 数
91958121fe 2024-02-05  顽雨沉风: --~ 右移几位
91958121fe 2024-02-05  顽雨沉风: function d.位右移(o1, o2)
91958121fe 2024-02-05  顽雨沉风:   return bit.rshift(o1, o2)
91958121fe 2024-02-05  顽雨沉风:   end
c4461ce231 2024-02-05  顽雨沉风: --~ 键
c4461ce231 2024-02-05  顽雨沉风: --~ 最大值
c4461ce231 2024-02-05  顽雨沉风: --~ 键
c4461ce231 2024-02-05  顽雨沉风: --~ 值
c4461ce231 2024-02-05  顽雨沉风: function d.筛对中最大值(o1, o2, o3, o4)
abd9f389ae 2024-02-05  顽雨沉风:   if o2 < o4 then
abd9f389ae 2024-02-05  顽雨沉风:     return true
c4461ce231 2024-02-05  顽雨沉风:     end
c4461ce231 2024-02-05  顽雨沉风:   end
c4461ce231 2024-02-05  顽雨沉风: --~ 最短键
abd9f389ae 2024-02-05  顽雨沉风: --~ 值
c4461ce231 2024-02-05  顽雨沉风: --~ 键
c4461ce231 2024-02-05  顽雨沉风: --~ 值
c4461ce231 2024-02-05  顽雨沉风: function d.筛对中最短键(o1, o2, o3, o4)
abd9f389ae 2024-02-05  顽雨沉风:   if #o1 > #o3 then
abd9f389ae 2024-02-05  顽雨沉风:     return true
c4461ce231 2024-02-05  顽雨沉风:     end
c4461ce231 2024-02-05  顽雨沉风:   end
c4461ce231 2024-02-05  顽雨沉风: --~ 最短文
c4461ce231 2024-02-05  顽雨沉风: --~ 值
c4461ce231 2024-02-05  顽雨沉风: function d.筛排中最短文(o1, o2)
abd9f389ae 2024-02-05  顽雨沉风:   if #o1 > #o2 then
abd9f389ae 2024-02-05  顽雨沉风:     return true
c4461ce231 2024-02-05  顽雨沉风:     end
91958121fe 2024-02-05  顽雨沉风:   end
91958121fe 2024-02-05  顽雨沉风: --~ 内数
91958121fe 2024-02-05  顽雨沉风: function d.to_uint64(o1)
91958121fe 2024-02-05  顽雨沉风:   local uint64_pointer = ffi.new("uint64_t[1]", o1)
91958121fe 2024-02-05  顽雨沉风:   return uint64_pointer[0]
c4461ce231 2024-02-05  顽雨沉风:   end
c4461ce231 2024-02-05  顽雨沉风: --~ 键
c4461ce231 2024-02-05  顽雨沉风: --~ 值
c4461ce231 2024-02-05  顽雨沉风: --~ 要找的值
c4461ce231 2024-02-05  顽雨沉风: function d.全等筛对中值(o1, o2, o3)
c4461ce231 2024-02-05  顽雨沉风:   if o2 == o3 then
c4461ce231 2024-02-05  顽雨沉风:     return o1, o2
c4461ce231 2024-02-05  顽雨沉风:   else
c4461ce231 2024-02-05  顽雨沉风:     end
9942dfa51d 2024-02-04  顽雨沉风:   end
9942dfa51d 2024-02-04  顽雨沉风: return d