Open main menu

Module:StringHelpers

Revision as of 17:13, 12 April 2020 by Administrator (talk | contribs)

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