evaluate(value) returns ...

Evalueert een string met daarin een Smartforms expressie, en geeft het resultaat terug.

Functie

Argument Types Omschrijving
value string, nil String met daarin een Smartforms expressie, of nil, of een waarde die door de automatische type conversie een string oplevert.
Result boolean, datetime, double, integer, string, list, nil De expressie, waarbij elk type mogelijk is.

Omschrijving

Verwacht een string met daarin een Smartforms expressie. Evalueert de expressie en geeft het resultaat terug. Elk type resultaat van Smartforms expressies is mogelijk: nil, een enkelvoudige waarde of een lijst.

Een Smartforms expressie kan onder meer in een control van een formulier staan. Het systeem verzorgt dan de evaluatie van de expressie. Een doel van evaluate(...) is om een expressie te evalueren die afkomstig is uit een externe bron. De expressie kan bijvoorbeeld betrokken worden uit een tabel die geïmporteerd is uit een Excel bestand.

Voorbeelden

evaluate("1 + 2")=3.

evaluate("[input1] + 2")=3 voor 1 als input1.

1 + evaluate("1 + 2") + 1=5: de evaluate(...) kan gebruikt worden in een reguliere expressie.

isnil(evaluate(nil))=true: een evaluate van nil levert nil op.

isnil(evaluate("nil"))=true: een evaluatie van de string "nil" levert nil op.

evaluate("3")=3: evaluatie van de string "3" levert de integer 3 op.

evaluate(string(3))=3: evaluatie van de string waarde van 3 levert de integer 3 op.

evaluate(3)=3: de functie verwacht een string of nil, maar hier wordt een integer 3 gebruikt. Smartforms voert automatische type conversie uit bij de aanroep van een functie, als dat mogelijk is en als dat zinvol is. In dit geval converteert Smartforms de 3 naar een "3" en voert dan de evaluate("3") uit.

evaluate(evaluate("3"))=3: een evaluate(...) kan binnen een evaluate(...) gebruikt worden.