.. highlightlang:: us .. index:: eval .. _eval: eval ==== .. us.tag eval NOTREADYGERMAN New400 Programming.Symboltable :ref:`eval` wertet UniScript-Programmcode aus, der als String übergeben wird. .. function:: eval(ssString) .. us.return **Returnwert** Die Funktion hat keinen Returnwert, sondern erzeugt im Fehlerfall eine Ausnahme (Exception). Die Ausnahme kann mit try/except abgefangen werden. Siehe auch :ref:`evalp`. .. us.params **Parameter** .. uparam:: ssString *ssString* ist ein String mit UniScript-Programmtext (Anweisungen und/oder Funktionen). .. us.example **Beispiel** :: eval("a = 1+1"); print a; Falls :ref:`eval` innerhalb einer Funktion verwendet wird, sind die Variablen in dem eval-String lokale Variablen. Damit eval auf Variablen der aufrufenden Funktion zugreifen kann, müssen die Variablen global deklariert werden. :: def test(rvData, ssOperator, ssLimit) { global data, i; data = rvData; ssString = sprintf("i = find(data %s %s)", ssOperator, ssLimit); eval(ssString); return i; } idx = test([1,2,3,4,5,6,7], "<=", "4.5") if (idx[1] == 0) { MessageBoxError("No data found"); } print idx // prints 1,2,3,4 .. seealso:: :ref:`uberblick-programmierung`, :ref:`evalp`, :ref:`eval_file`, :ref:`evalp_file`, :ref:`load` :sub:`id-944627`