Asserts that the [param condition] is [code]true[/code]. If the [param condition] is [code]false[/code], an error is generated. When running from the editor, the running project will also be paused until you resume it. This can be used as a stronger form of [method @GlobalScope.push_error] for reporting errors to project developers or add-on users. An optional [param message] can be shown in addition to the generic "Assertion failed" message. You can use this to provide additional details about why the assertion failed. [b]Warning:[/b] For performance reasons, the code inside [method assert] is only executed in debug builds or when running the project from the editor. Don't include code that has side effects in an [method assert] call. Otherwise, the project will behave differently when exported in release mode. [codeblock] # Imagine we always want speed to be between 0 and 20. var speed = -10 assert(speed < 20) # True, the program will continue. assert(speed >= 0) # False, the program will stop. assert(speed >= 0 and speed < 20) # You can also combine the two conditional statements in one check. assert(speed < 20, "the speed limit is 20") # Show a message. [/codeblock] [b]Note:[/b] [method assert] is a keyword, not a function. So you cannot access it as a [Callable] or use it inside expressions.
Afirma que la [condición param] es [code]true[/code]. Si la [condición param] es [code]false[/code], se genera un error. Cuando se ejecuta desde el editor, el proyecto en ejecución también se pausará hasta que lo reanude. Esto se puede utilizar como una forma más fuerte de [method @GlobalScope.push_error] para informar de errores a los desarrolladores del proyecto o a los usuarios del complemento. Se puede mostrar un [param message] opcional además del mensaje genérico "Assertion failed". Puede utilizarlo para proporcionar detalles adicionales sobre por qué falló la aserción. [b]Advertencia:[/b] Por razones de rendimiento, el código dentro de [method assert] sólo se ejecuta en construcciones de depuración o cuando se ejecuta el proyecto desde el editor. No incluya código que tenga efectos secundarios en una llamada a [method assert]. De lo contrario, el proyecto se comportará de forma diferente cuando se exporte en modo release. [codeblock] # Imagina que siempre queremos que la velocidad esté entre 0 y 20. var speed = -10 assert(speed < 20) # Verdadero, el programa continuará. assert(speed >= 0) # Falso, el programa se detendrá. assert(speed >= 0 and speed < 20) # También puedes combinar las dos sentencias condicionales en una sola comprobación. assert(speed < 20, "el límite de velocidad es 20") # Muestra un mensaje. [/codeblock]
An optional [param message] can be shown in addition to the generic "Assertion failed" message. You can use this to provide additional details about why the assertion failed.
[b]Warning:[/b] For performance reasons, the code inside [method assert] is only executed in debug builds or when running the project from the editor. Don't include code that has side effects in an [method assert] call. Otherwise, the project will behave differently when exported in release mode.
[codeblock]
# Imagine we always want speed to be between 0 and 20.
var speed = -10
assert(speed < 20) # True, the program will continue.
assert(speed >= 0) # False, the program will stop.
assert(speed >= 0 and speed < 20) # You can also combine the two conditional statements in one check.
assert(speed < 20, "the speed limit is 20") # Show a message.
[/codeblock]
[b]Note:[/b] [method assert] is a keyword, not a function. So you cannot access it as a [Callable] or use it inside expressions.
Se puede mostrar un [param message] opcional además del mensaje genérico "Assertion failed". Puede utilizarlo para proporcionar detalles adicionales sobre por qué falló la aserción.
[b]Advertencia:[/b] Por razones de rendimiento, el código dentro de [method assert] sólo se ejecuta en construcciones de depuración o cuando se ejecuta el proyecto desde el editor. No incluya código que tenga efectos secundarios en una llamada a [method assert]. De lo contrario, el proyecto se comportará de forma diferente cuando se exporte en modo release.
[codeblock]
# Imagina que siempre queremos que la velocidad esté entre 0 y 20.
var speed = -10
assert(speed < 20) # Verdadero, el programa continuará.
assert(speed >= 0) # Falso, el programa se detendrá.
assert(speed >= 0 and speed < 20) # También puedes combinar las dos sentencias condicionales en una sola comprobación.
assert(speed < 20, "el límite de velocidad es 20") # Muestra un mensaje.
[/codeblock]