Difference between revisions of "Module:StringHelpers"

From Data JW United
Jump to navigation Jump to search
Line 3: Line 3:
 
function p.getParagraphFromQuestion(param)
 
function p.getParagraphFromQuestion(param)
 
dashIndex = string.find(param.args[1], '-', 1, true);
 
dashIndex = string.find(param.args[1], '-', 1, true);
if(dashIndex and tonumber(string.sub(param.args[1], dashIndex-2, dashIndex-2)))
+
if(tonumber(string.sub(param.args[1], dashIndex-2, dashIndex-2)))
 
then
 
then
 
  return "simple question"
 
  return "simple question"

Revision as of 15:43, 12 April 2020

Module supports numbers with max 3 digits.

Tests

Simple question

Expected Actual
150 Lua error at line 5: attempt to perform arithmetic on global 'dashIndex' (a nil value).
15 Lua error at line 5: attempt to perform arithmetic on global 'dashIndex' (a nil value).
7 Lua error at line 5: attempt to perform arithmetic on global 'dashIndex' (a nil value).
150 Lua error at line 5: attempt to perform arithmetic on global 'dashIndex' (a nil value).
15 Lua error at line 5: attempt to perform arithmetic on global 'dashIndex' (a nil value).
7 Lua error at line 5: attempt to perform arithmetic on global 'dashIndex' (a nil value).

Complex question

Expected Actual
6 complex question
7 complex question
10 simple question
99 simple question
101 simple question
6 complex question
7 complex question
10 simple question
99 simple question
101 simple question

local p = {}

function p.getParagraphFromQuestion(param)
	 dashIndex = string.find(param.args[1], '-', 1, true);
	 if(tonumber(string.sub(param.args[1], dashIndex-2, dashIndex-2)))
		then
		   return "simple question"
		else
		   return "complex question"
		end
	 
end

return p