打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

模块:沙盒

来自 LNN的:not(博客)?
DGCK81LNN留言 | 贡献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