Modul:X: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Änderung 14531 von Murmelgrumpf (Diskussion) rückgängig gemacht. |
Änderung 14528 von Murmelgrumpf (Diskussion) rückgängig gemacht. |
||
Zeile 15: | Zeile 15: | ||
i = 2; --2 | i = 2; --2 | ||
limit = tonumber(frame.args[1]) -- | limit = tonumber(frame.args[1]) --7 | ||
text = frame.args[2] --fiick dich halli | text = frame.args[2] --fiick dich halli | ||
stext = split(text, " ")--fiick|dich|halli(list) | stext = split(text, " ")--fiick|dich|halli(list) | ||
Zeile 24: | Zeile 24: | ||
cuttextlen = string.len(cuttext)--5 | cuttextlen = string.len(cuttext)--5 | ||
set = true; | set = true; | ||
if(limit>=textlen)then -- | if(limit>=textlen)then --7>=15 | ||
return text.."%@%" | return text.."%@%" | ||
elseif(cuttextlen>limit) then--5> | elseif(cuttextlen>limit) then--5>7 | ||
return "%@%"..text | return "%@%"..text | ||
Zeile 32: | Zeile 32: | ||
while (cuttextlen+nextlen+1<textlen+2) do --5+4+1<15+3 | 11+5+1<15+2 | while (cuttextlen+nextlen+1<textlen+2) do --5+4+1<15+3 | 11+5+1<15+2 | ||
if(cuttextlen+nextlen> | if(cuttextlen+nextlen>limit and set) then --5+4>7 | ||
set = false | set = false | ||
cuttext = cuttext.."%@%" | cuttext = cuttext.."%@%" |
Version vom 13. Januar 2020, 20:32 Uhr
Die Dokumentation für dieses Modul kann unter Modul:X/Doku erstellt werden
local p = {} --local p = {} -- p steht für Paket (engl. package)
function split (inputstr, sep)
if sep == nil then
sep = "%s"
end
local t={}
for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
table.insert(t, str)
end
return t
end
function p.cut( frame )
i = 2; --2
limit = tonumber(frame.args[1]) --7
text = frame.args[2] --fiick dich halli
stext = split(text, " ")--fiick|dich|halli(list)
cuttext = stext[1]--fiick
nextwo = stext[2]--dich
nextlen = string.len(nextwo)--4
textlen = string.len(text)--15
cuttextlen = string.len(cuttext)--5
set = true;
if(limit>=textlen)then --7>=15
return text.."%@%"
elseif(cuttextlen>limit) then--5>7
return "%@%"..text
else
while (cuttextlen+nextlen+1<textlen+2) do --5+4+1<15+3 | 11+5+1<15+2
if(cuttextlen+nextlen>limit and set) then --5+4>7
set = false
cuttext = cuttext.."%@%"
else
cuttext = cuttext.." "
end
i = i + 1 --3
cuttext = cuttext..nextwo -- fick%@%dich
nextwo = stext[i]-- halli
nextlen = string.len(nextwo) -- 5
cuttextlen = string.len(cuttext) -- 11
end
return cuttext
end
end
return p