Difference between revisions of "Module:StringHelpers"
Jump to navigation
Jump to search
Line 6: | Line 6: | ||
if (dashIndex ~= nil) | if (dashIndex ~= nil) | ||
then | then | ||
− | return | + | if (tonumber(string.sub(param.args[1], string.len(param.args[1] - 2)))) |
+ | then | ||
+ | i = string.len(param.args[1]) - 2; | ||
+ | return string.sub(param.args[1], i) | ||
+ | end | ||
else | else | ||
if (tonumber(string.sub(param.args[1], string.len(param.args[1]) - 2))) | if (tonumber(string.sub(param.args[1], string.len(param.args[1]) - 2))) |
Revision as of 17:13, 12 April 2020
Module supports numbers with max 3 digits.
Tests
Simple question
Expected | Actual |
---|---|
150 | 150 |
15 | 15 |
7 | 7 |
150 | 150 |
15 | 15 |
7 | 7 |
Complex question
Expected | Actual |
---|---|
6 | Lua error at line 8: attempt to perform arithmetic on field '?' (a string value). |
7 | Lua error at line 8: attempt to perform arithmetic on field '?' (a string value). |
10 | Lua error at line 8: attempt to perform arithmetic on field '?' (a string value). |
99 | Lua error at line 8: attempt to perform arithmetic on field '?' (a string value). |
101 | Lua error at line 8: attempt to perform arithmetic on field '?' (a string value). |
6 | Lua error at line 8: attempt to perform arithmetic on field '?' (a string value). |
7 | Lua error at line 8: attempt to perform arithmetic on field '?' (a string value). |
10 | Lua error at line 8: attempt to perform arithmetic on field '?' (a string value). |
99 | Lua error at line 8: attempt to perform arithmetic on field '?' (a string value). |
101 | Lua error at line 8: attempt to perform arithmetic on field '?' (a string value). |
local p = {}
function p.getParagraphFromQuestion(param)
dashIndex = string.find(param.args[1], '-', 1, true);
if (dashIndex ~= nil)
then
if (tonumber(string.sub(param.args[1], string.len(param.args[1] - 2))))
then
i = string.len(param.args[1]) - 2;
return string.sub(param.args[1], i)
end
else
if (tonumber(string.sub(param.args[1], string.len(param.args[1]) - 2)))
then
i = string.len(param.args[1]) - 2;
return string.sub(param.args[1], i)
end
if (tonumber(string.sub(param.args[1], string.len(param.args[1]) - 1)))
then
i = string.len(param.args[1]) - 1;
return string.sub(param.args[1], i)
else
return string.sub(param.args[1], string.len(param.args[1]))
end
end
end
return p