「モジュール:テスト」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
編集の要約なし |
||
1行目: | 1行目: | ||
local p = {} | local p = {} | ||
function p.hundred(frame) | function p.hundred(frame) | ||
a,b,m,n,o = {},{},{},{},{} | |||
if frame.args[3] then | if frame.args[3] then | ||
s = tonumber(frame.args[3]) | s = tonumber(frame.args[3]) | ||
if string.find(frame.args[1],frame.args[2]) then | if string.find(frame.args[1],frame.args[2]) then | ||
a[1],b[1] = string.find(frame.args[1],frame.args[2]) | a[1],b[1] = string.find(frame.args[1],frame.args[2]) | ||
m[1] = string.char(string.byte(frame.args[1],a[1],b[1])) | |||
n[1] = a[1] == 1 and "" or string.char(string.byte(frame.args[1],1,a[1]-1)) | |||
o[1] = b[#b] == #frame.args[1] and "" or string.char(string.byte(frame.args[1],b[#b]+1,#frame.args[1])) | |||
if frame.args[3] >= 2 then | if frame.args[3] >= 2 then | ||
for i = 2,s do | for i = 2,s do | ||
a[i],b[i] = string.find(frame.args[1],frame.args[2],b[i-1]+1) | a[i],b[i] = string.find(frame.args[1],frame.args[2],b[i-1]+1) | ||
m[i] = string.char(string.byte(frame.args[1],a[i],b[i])) | |||
n[i] = a[i] == b[i-1]+1 and "" or string.char(string.byte(frame.args[1],b[i-1]+1,a[i]-1)) | |||
end | end | ||
end | end | ||
--[[ | |||
ここに | |||
n[1]..m[1]..n[2]..m[2].. 「どうにかする」..n[s]..m[s]..o[1] | |||
を返す処理 | |||
]] | |||
else | |||
m[1] = frame.args[1] | |||
return string.rep(m[1],100) | |||
end | end | ||
else | else | ||
30行目: | 42行目: | ||
end | end | ||
end | end | ||
end | end | ||
return p | return p |
2年1月14日 (I) 10:10時点における版
このモジュールについての説明文ページを モジュール:テスト/doc に作成できます
local p = {}
function p.hundred(frame)
a,b,m,n,o = {},{},{},{},{}
if frame.args[3] then
s = tonumber(frame.args[3])
if string.find(frame.args[1],frame.args[2]) then
a[1],b[1] = string.find(frame.args[1],frame.args[2])
m[1] = string.char(string.byte(frame.args[1],a[1],b[1]))
n[1] = a[1] == 1 and "" or string.char(string.byte(frame.args[1],1,a[1]-1))
o[1] = b[#b] == #frame.args[1] and "" or string.char(string.byte(frame.args[1],b[#b]+1,#frame.args[1]))
if frame.args[3] >= 2 then
for i = 2,s do
a[i],b[i] = string.find(frame.args[1],frame.args[2],b[i-1]+1)
m[i] = string.char(string.byte(frame.args[1],a[i],b[i]))
n[i] = a[i] == b[i-1]+1 and "" or string.char(string.byte(frame.args[1],b[i-1]+1,a[i]-1))
end
end
--[[
ここに
n[1]..m[1]..n[2]..m[2].. 「どうにかする」..n[s]..m[s]..o[1]
を返す処理
]]
else
m[1] = frame.args[1]
return string.rep(m[1],100)
end
else
if frame.args[2] then
if string.find(frame.args[1],frame.args[2]) then
a[1],b[1] = string.find(frame.args[1],frame.args[2])
m[1] = string.char(string.byte(frame.args[1],a[1],b[1]))
n[1] = a[1] == 1 and "" or string.char(string.byte(frame.args[1],1,a[1]-1))
o[1] = b[1] == #frame.args[1] and "" or string.char(string.byte(frame.args[1],b[1]+1,#frame.args[1]))
return n[1]..string.rep(m[1],100)..o[1]
else
m[1] = frame.args[1]
return string.rep(m[1],100)
end
else
m[1] = frame.args[1]
return string.rep(m[1],100)
end
end
end
return p