游戏王残局简化版

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

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

Lines of 残局文料/lua_lib/常用库.lua from check-in 7a7894a746 that are changed by the sequence of edits moving toward check-in 6bd570d52a:

                         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: --~ 左数
                       188: --~ 右数
                       189: function d.位和(o1, o2)
                       190:   return bit.band(o1, o2)
                       191:   end
                       192: return d