Jump to content

Module:Wikitext Parsing and Module:Wikitext Parsing/sandbox: Difference between pages

(Difference between pages)
Page 1
Page 2
Content deleted Content added
the Lua # operator recalculates the length every time it's accessed (including on every loop in a for), so cache its value in cheaptrim since the string isn't modified in-place
 
m Removed protection from "Module:Wikitext Parsing/sandbox"
 
Line 22: Line 22:
-- local out = string.gsub(str, "^%s*(.-)%s*$", "%1")
-- local out = string.gsub(str, "^%s*(.-)%s*$", "%1")
local lowEnd
local lowEnd
local strlen = #str
for i = 1,#str do
for i = 1,strlen do
if not whitespace[string.sub(str, i, i)] then
if not whitespace[string.sub(str, i, i)] then
lowEnd = i
lowEnd = i
Line 33: Line 32:
return ""
return ""
end
end
for i = strlen,1,-1 do
for i = #str,1,-1 do
if not whitespace[string.sub(str, i, i)] then
if not whitespace[string.sub(str, i, i)] then
local out = string.sub(str, lowEnd, i)
local out = string.sub(str, lowEnd, i)