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

模块:沙盒:修订间差异

来自 LNN的:not(博客)?
DGCK81LNN留言 | 贡献
无编辑摘要
DGCK81LNN留言 | 贡献
无编辑摘要
第1行: 第1行:
local p = {}
local p = {}
local bit32 = require( 'bit32' )
local bit32 = require( 'bit32' )
local ustring = mw.ustring


function p.hello(frame)
function p.hello( frame )
return string.rep("Hello, world!\n\n", tonumber(frame.args[1] or 1))
return string.rep( "Hello, world!\n\n", tonumber( frame.args[1] or 1 ) )
end
end


function p.sts(frame)
local function sts( str )
return sts(frame.args[1])
end
 
local function sts(str)
local out = ""
local out = ""
for codePoint in mw.ustring.gcodepoint(str) do
for codePoint in ustring.gcodepoint( str ) do
local shifter = -1
local mask = bit32.rshift( codePoint, 1 )
local temp = codePoint
mask = bit32.bor( mask, bit32.rshift( mask, 1 ) )
while bit32.band(temp, -2) ~= 0 do
mask = bit32.bor( mask, bit32.rshift( mask, 2 ) )
temp = bit32.rshift(temp, 1)
mask = bit32.bor( mask, bit32.rshift( mask, 4 ) )
shifter = bit32.lshift(shifter, 1)
mask = bit32.bor( mask, bit32.rshift( mask, 8 ) )
out = out .. mw.ustring.char(bit32.bxor(codePoint, bit32.bnot(shifter)))
mask = bit32.bor( mask, bit32.rshift( mask, 16 ) )
end
out = out .. ustring.char( bit32.bxor( codePoint, mask ) )
end
end
return out
return out
end
function p.sts(frame)
return sts(frame.args[1])
end
end


return p
return p

2023年2月20日 (一) 17:18的版本

模块文档

[查看] [编辑]

用于测试的模块沙盒。

脚本错误:Lua错误:无法创建进程:proc_open(/dev/null): Failed to open stream: Operation not permitted

local p = {}
local bit32 = require( 'bit32' )
local ustring = mw.ustring

function p.hello( frame )
	return string.rep( "Hello, world!\n\n", tonumber( frame.args[1] or 1 ) )
end

local function sts( str )
	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)
	return sts(frame.args[1])
end

return p