Using Python : first example

From AOW HT Wiki

Python is very usefull to express some developments which are not easy to express in NDF.

For example, python can easily do mathematical calculs. To calculate (TAccesseurA + TAccesseurB)/(log TAccesseurC), you can write in NDF :

<ndf>
ResultOfComplexCalcul is TAccesseurRealDivide :
  AccesseurNumerateur = TAccesseurRealAdd :
                          RealList =
                          [
                            TAccesseurA,
                            TAccesseurB,
                          ]
  AccesseurDenominateur = TAccesseurRealLogN :
                            AccesseurReal = TAccesseurC
</ndf>                            

In python, this is much simpler and easy to modify :

<ndf>
ResultOfComplexCalcul is TAccesseurRealPython :
  ParamsNoEval = MAP
  [
    ('A', TAccesseurA),
    ('B', TAccesseurB),
    ('C', TAccesseurC),
  ]
  Code = """
    import math
    result = (A.Value + B.Value) / math.log(C.Value)
  """
</ndf>

You can use thoses NDF Accessors in the same way

  • TAccesseurIntegerPython
  • TAccesseurBooleanPython
  • TAccesseurStringPython
  • TAccesseurStringListPython

and TEffetDescriptor_EffetPythonInstantane if you want an effect