mate 0.0.1 copy "mate: ^0.0.1" to clipboard
mate: ^0.0.1 copied to clipboard

outdated

A lightweight math library for dart

Package Logo

Usage #

Create local instance of expression parser.

final ExpressionParser expressionParser = ExpressionParser();

Then you can calculate your "string" expression like:

final String exp = "-2 + 5 + 10 * 2";
final double? result = expressionParser.calculate(); // result would be 23

When we call calculate, it checks the validness of expression automatically. So, we needn't to do some manual checking here. (If expression is invalid, then result would be null)

But in anyways, if you wanna check the validness of expression manually, you can do it, like:

final bool isValid = expressionParser.isInvalidOperation(exp) // Would be false

Check official example to see the UI implementation of mate

Explanation #

Parser divides string expression as parts (Stores them in custom Expression class), then loops through the parts and takes sum of them. If string expression is "2+5" then parts would be: ["2", "+5"]. So the sum of parts would be 2+(+5) --> 7.

Let's see with default expression: "-2 + 5 + 10 * 2". In this case, parts would be: ["-2", "+5", "10*2"]. We got "10*2" at the end of the part, because of operation priority. So, the final result would be: -2+(+5)+(10*2) --> 3+20 --> 23.

3
likes
0
pub points
53%
popularity

Publisher

verified publishertheiskaa.com

A lightweight math library for dart

Repository (GitHub)
View/report issues

Documentation

Documentation

License

unknown (license)

Dependencies

flutter

More

Packages that depend on mate