模块:沙盒:修订间差异
来自 LNN的:not(博客)?
更多操作
无编辑摘要 |
小 导入1个版本:从分支站同步更改 标签:自动同步 |
||
| (未显示另一用户的1个中间版本) | |||
| 第39行: | 第39行: | ||
function p.args(frame) | function p.args(frame) | ||
return mw.text.nowiki(mw.text.jsonEncode(frame.args)) | return mw.text.nowiki(mw.text.jsonEncode(frame.args)) | ||
end | |||
function p.getargs(frame) | |||
return mw.text.nowiki(mw.text.jsonEncode(getArgs(frame))) | |||
end | end | ||
return p | return p | ||
2024年11月26日 (二) 21:49的最新版本
脚本错误:Lua错误:无法创建进程:proc_open(/dev/null): Failed to open stream: Operation not permitted
local p = {}
local libraryUtil = require("libraryUtil")
local bit32 = require("bit32")
local getArgs = require("Module:Arguments").getArgs
function p._sts(str)
libraryUtil.checkType("_sts", 1, str, "string")
local bytes = { str:byte(1, #str) }
local zero = false
for i, byte in ipairs(bytes) do
local bits
if byte >= 0xf8 then error("bad utf-8 string in 'sts'")
elseif byte >= 0xf0 then bits = bit32.band(byte, 0x07)
elseif byte >= 0xe0 then bits = bit32.band(byte, 0x0f)
elseif byte >= 0xc0 then bits = bit32.band(byte, 0x1f)
elseif byte >= 0x80 then
if zero then bits = bit32.band(byte, 0x3f)
else bits = 0x40
end
else bits = byte
end
zero = bits == 0
bits = bit32.rshift(bits, 1)
bits = bit32.bor(bits, bit32.rshift(bits, 1))
bits = bit32.bor(bits, bit32.rshift(bits, 2))
bits = bit32.bor(bits, bit32.rshift(bits, 4))
bytes[i] = bit32.bxor(byte, bits)
end
return string.char(unpack(bytes))
end
function p.sts(frame)
local args = getArgs(frame)
local input = mw.text.killMarkers(frame.args[1])
return p._sts(input)
end
function p.args(frame)
return mw.text.nowiki(mw.text.jsonEncode(frame.args))
end
function p.getargs(frame)
return mw.text.nowiki(mw.text.jsonEncode(getArgs(frame)))
end
return p