Skip to content
A library to parse and evalate math expression with functions and variables.
ActionScript C++ IDL C
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
as/src
cpp
.gitignore
README.md

README.md

zExpression

A library to parse and evalate math expression with functions and variables.

Example:

ActionScript 3:

            var c:Number = 1

            var expSet:ExpressionSet = new ExpressionSet

            // Step 1: Parse expression strings.
            expSet.putExp('b', '1 + c + 100 * min(a, 100) / 2')
            expSet.putExp('a', 'min(1, 10)')

            // Step 2: Set variables and functions
            expSet.setVariable('c', c)
            expSet.setFunction('min', Math.min) // min() is built-in actually, example only.

            // Step 3: Get the result. Step 2, 3 could be done repeatly.
            trace('b = ', expSet.getValue('b'))

Optional i18n variables support, by replacing the letterValidator, you can make it support any language:

            var expSet:ExpressionSet = new ExpressionSet

            // Set a custom letter validator
            expSet.letterValidator = CnUtils.isLetterOrCnChar

            expSet.putExp('面包', '面粉 * 水')
            expSet.putExp('家庭', '爱情 + 面包')
            expSet.setVariable('爱情', 99)
            expSet.setVariable('面粉', 1)
            expSet.setVariable('水', 1)

            trace('家庭 = ', expSet.getValue('家庭'))

Supported languages:

  • ActionScript 3

TODO:

  • C# support.
  • C++ support.
  • More test cases.
Something went wrong with that request. Please try again.