Capítulo 429 de 859

Chapter 429: LoopNode

Core Idea

This module offers a variety of ways to implement loops in TSL. In it's basic form it's:

Loop( count, ( { i } ) => {
} );

However, it is also possible to define a start and end ranges, data types and loop conditions:

Loop( { start: int( 0 ), end: int( 10 ), type: 'int', condition: '<' }, ( { i } ) => {
} );

Nested loops can be defined in a compacted form:

Loop( 10, 5, ( { i, j } ) => {
} );

Loops that should run backwards can be defined like so:

Loop( { start: 10 }, () => {} );

It is possible to execute with boolean values, similar to the while syntax.

const value = float( 0 ).toVar();
Loop( value.lessThan( 10 ), () => {
	value.addAssign( 1 );
} );

The module also provides Break() and Continue() TSL expression for loop control.

Reference Tables

Constructor

Signature
new LoopNode( params : Array.<any> )

Methods

MethodDescription
.getProperties( builder : NodeBuilder ) : ObjectReturns properties about this node.
.getVarName( index : number ) : stringReturns a loop variable name based on an index. The pattern is 0 = i, 1= j, 2= k and so on.

Key Takeaways

  1. LoopNode extends: EventDispatcher → Node
  2. Key methods: getProperties, getVarName.

Connects To