「モジュール:テスト」の版間の差分

提供:WikiWiki
ナビゲーションに移動 検索に移動
編集の要約なし
編集の要約なし
2行目: 2行目:
function p.hundred(frame)
function p.hundred(frame)
a,b,m,n,o = {},{},{},{},{}
a,b,m,n,o = {},{},{},{},{}
if frame.args[2] then
if frame.args[3] then
s = tonumber(frame.args[3]) or 100
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])
10行目: 10行目:
g = n[1]..string.rep(m[1],100)
g = n[1]..string.rep(m[1],100)
if s >= 2 then
if s >= 2 then
    i = 2
    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]))
    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[3],a[4]))
    n[i] = a[i] == b[i-1]+1 and "" or string.char(string.byte(frame.args[1],b[i-1]+1,a[i]-1))
     --[[for i = 2,s do
     end
    for i = 2,s do
    g = g..n[i]..string.rep(m[i],100)
    g = g..n[i]..string.rep(m[i],100)
     end]]
     end
end
end
    o[1] = b[#b] == #frame.args[1] and "" or string.char(string.byte(frame.args[1],b[#b]+1,#frame.args[1]))
    o[1] = b[#b] == #frame.args[1] and "" or string.char(string.byte(frame.args[1],b[#b]+1,#frame.args[1]))
return g..o[1]
return g..o[1] --n[1]..string.rep(m[1],100)..n[2]..string.rep(m[2],100).. 「どうにかする」..n[s]..string.rep(m[s])..o[1]を返す処理
else
else
m[1] = frame.args[1]
m[1] = frame.args[1]
25行目: 26行目:
end
end
else
else
m[1] = frame.args[1]
        if frame.args[2] then
         return string.rep(m[1],100)
            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
end
end
return p
return p

2年1月14日 (I) 16:52時点における版

このモジュールについての説明文ページを モジュール:テスト/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))
			g = n[1]..string.rep(m[1],100)
			if s >= 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
			    for i = 2,s do
				    g = g..n[i]..string.rep(m[i],100)
    			end
			end
		    o[1] = b[#b] == #frame.args[1] and "" or string.char(string.byte(frame.args[1],b[#b]+1,#frame.args[1]))
			return g..o[1] --n[1]..string.rep(m[1],100)..n[2]..string.rep(m[2],100).. 「どうにかする」..n[s]..string.rep(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