模块:沙盒:修订间差异
来自 LNN的:not(博客)?
更多操作
小无编辑摘要 |
无编辑摘要 |
||
| 第1行: | 第1行: | ||
local p = {} | local p = {} | ||
local bit32 = require( | local libraryUtil = require("libraryUtil") | ||
local bit32 = require("bit32") | |||
local getArgs = require("Module:Arguments").getArgs | |||
local ustring = mw.ustring | local ustring = mw.ustring | ||
function p. | function p._sts(str) | ||
libraryUtil.checkType("_sts", 1, str, "string") | |||
local out = "" | local out = "" | ||
for codePoint in ustring.gcodepoint( str ) do | for codePoint in ustring.gcodepoint(str) do | ||
local mask = bit32.rshift( codePoint, 1 ) | local mask = bit32.rshift(codePoint, 1) | ||
mask = bit32.bor( mask, bit32.rshift( mask, 1 ) ) | mask = bit32.bor(mask, bit32.rshift(mask, 1)) | ||
mask = bit32.bor( mask, bit32.rshift( mask, 2 ) ) | mask = bit32.bor(mask, bit32.rshift(mask, 2)) | ||
mask = bit32.bor( mask, bit32.rshift( mask, 4 ) ) | mask = bit32.bor(mask, bit32.rshift(mask, 4)) | ||
mask = bit32.bor( mask, bit32.rshift( mask, 8 ) ) | mask = bit32.bor(mask, bit32.rshift(mask, 8)) | ||
mask = bit32.bor( mask, bit32.rshift( mask, 16 ) ) | mask = bit32.bor(mask, bit32.rshift(mask, 16)) | ||
out = out .. ustring.char( bit32.bxor( codePoint, mask ) ) | out = out .. ustring.char(bit32.bxor(codePoint, mask)) | ||
end | end | ||
return out | return out | ||
end | end | ||
function p.sts( frame ) | function p.sts(frame) | ||
local args = getArgs(frame) | |||
local input = mw.text.killMarkers(frame.args[1]) | |||
return p._sts(input) | |||
return | |||
end | end | ||
p | function p.args(frame) | ||
return | return mw.text.nowiki(mw.text.jsonEncode(frame.args)) | ||
end | end | ||
return p | return p | ||
2023年2月25日 (六) 23:09的版本
脚本错误: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
local ustring = mw.ustring
function p._sts(str)
libraryUtil.checkType("_sts", 1, str, "string")
local out = ""
for codePoint in ustring.gcodepoint(str) do
local mask = bit32.rshift(codePoint, 1)
mask = bit32.bor(mask, bit32.rshift(mask, 1))
mask = bit32.bor(mask, bit32.rshift(mask, 2))
mask = bit32.bor(mask, bit32.rshift(mask, 4))
mask = bit32.bor(mask, bit32.rshift(mask, 8))
mask = bit32.bor(mask, bit32.rshift(mask, 16))
out = out .. ustring.char(bit32.bxor(codePoint, mask))
end
return out
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
return p