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 [code]condition[/code] (condição) é [code]true[/code]. Se [code]condition[/code] é [code]false[/code], um erro é gerado. Ao executar a partir do editor, o programa também será interrompido, até que você o retome. Isso pode ser usado como uma forma mais forte de [method push_error] para reportar erros aos desenvolvedores do projeto ou para utilizadores de add-ons. [b]Obs.:[/b] Por motivos de desempenho, o código inserido no [method assert] só é executado em compilações de depuração ou quando o projeto é executado a partir do editor. Não insira código com efeitos colaterais dentro de um [method assert], senão o projeto terá um comportamento diferente quando exportado em modo de lançamento. O argumento opcional [code]message[/code], se dado, é mostrado em complemento à mensagem genérica "Assertion failed". Você pode usar isso para fornecer detalhes adicionais do porquê a afirmação falhou. [codeblock] # Imagine que queremos que a velocidade se situe sempre entre 0 e 20. var speed = -10 assert(speed < 20) # True, o programa irá continuar assert(speed >= 0) # False, o programa irá parar assert(speed >= 0 && speed < 20) # Você também pode combinar os dois parâmetros condicionais em uma verificação assert(speed < 20, "speed = %f, mas o limite de velocidade é 20" % speed) # Mostra uma mensagem com mais detalhes [/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.
[b]Obs.:[/b] Por motivos de desempenho, o código inserido no [method assert] só é executado em compilações de depuração ou quando o projeto é executado a partir do editor. Não insira código com efeitos colaterais dentro de um [method assert], senão o projeto terá um comportamento diferente quando exportado em modo de lançamento.
O argumento opcional [code]message[/code], se dado, é mostrado em complemento à mensagem genérica "Assertion failed". Você pode usar isso para fornecer detalhes adicionais do porquê a afirmação falhou.
[codeblock]
# Imagine que queremos que a velocidade se situe sempre entre 0 e 20.
var speed = -10
assert(speed < 20) # True, o programa irá continuar
assert(speed >= 0) # False, o programa irá parar
assert(speed >= 0 && speed < 20) # Você também pode combinar os dois parâmetros condicionais em uma verificação
assert(speed < 20, "speed = %f, mas o limite de velocidade é 20" % speed) # Mostra uma mensagem com mais detalhes
[/codeblock]