Difference between revisions of "Module:CallAssert/doc"

From blackwiki
Jump to navigation Jump to search
blackwiki>Petr Matas
 
blackwiki>Petr Matas
Line 1: Line 1:
 
{{Module rating|a}}
 
{{Module rating|a}}
  
This [[Help:Lua metamodules|metamodule]] provides function '''callAssert''', which simplifies error checking, similarly to the built-in function [[mw:LUAREF#assert|assert]]. Unlike assert however, callAssert itself calls the function, whose return value is to be checked. This allows it to include the function name and argument values in the error message thrown if the check fails.
+
This [[Help:Lua metamodules|metamodule]] provides function '''callAssert''', which simplifies error checking by throwing an error if a given function returns nil or false. This is similar to the built-in function [[mw:LUAREF#assert|assert]], but unlike it, callAssert itself calls the function, whose return value is to be checked. This allows it to include the function name and argument values in the error message.
  
 
== Usage ==
 
== Usage ==

Revision as of 19:28, 20 August 2018

This metamodule provides function callAssert, which simplifies error checking by throwing an error if a given function returns nil or false. This is similar to the built-in function assert, but unlike it, callAssert itself calls the function, whose return value is to be checked. This allows it to include the function name and argument values in the error message.

Usage

local callAssert = require('Module:CallAssert')
local result1, result2, etc = callAssert(func, 'funcName', ...)

callAssert calls func(...) and checks if the first returned value evaluates to true. If it does, then it returns all the returned values. If not, it throws an error with a message in the form 'funcName(argument_values) failed'.