Difference between revisions of "Assert"

From GiderosMobile
(added example)
m (Text replacement - "</source" to "</syntaxhighlight")
Line 7: Line 7:
 
<source lang="lua">
 
<source lang="lua">
 
assert(v,message)
 
assert(v,message)
</source>
+
</syntaxhighlight>
  
 
''message'' is an error message, when absent it defaults to "assertion failed!".
 
''message'' is an error message, when absent it defaults to "assertion failed!".
Line 27: Line 27:
 
if isValidTexture() then bmp = Bitmap.new(Texture.new(texturepath)) end
 
if isValidTexture() then bmp = Bitmap.new(Texture.new(texturepath)) end
 
end
 
end
</source>
+
</syntaxhighlight>
  
 
'''Checks if is of type ''number'''''
 
'''Checks if is of type ''number'''''
Line 34: Line 34:
 
--local value = "hello" --> *** Friction must be a number ***
 
--local value = "hello" --> *** Friction must be a number ***
 
assert(type(value) == 'number', "*** Friction must be a number ***")
 
assert(type(value) == 'number', "*** Friction must be a number ***")
</source>
+
</syntaxhighlight>
  
 
=== See also ===
 
=== See also ===

Revision as of 17:56, 12 July 2023

Available since: Gideros 2011.6
Class: (global)

Description

Issues an error when the value of its argument v is false (i.e.: nil or false), otherwise returns all its arguments. <source lang="lua"> assert(v,message) </syntaxhighlight>

message is an error message, when absent it defaults to "assertion failed!".

Parameters

v: (any) expression/function to assert
message: (string) error message if assert fails optional

Examples

Checks if a texture is valid <source lang="lua"> function isValidTexture() local result, msg = assert(Texture.new(texturepath), "file is not recognised") print(result, msg) return result end

function showTexture() if isValidTexture() then bmp = Bitmap.new(Texture.new(texturepath)) end end </syntaxhighlight>

Checks if is of type number <source lang="lua"> local value = 12 --> 12 --local value = "hello" --> *** Friction must be a number *** assert(type(value) == 'number', "*** Friction must be a number ***") </syntaxhighlight>

See also

Pcall