terryds/express-math

解析其自身的数学或计算问题标记语言

dev-master 2018-07-08 08:56 UTC

This package is not auto-updated.

Last update: 2024-09-24 17:27:17 UTC


README

ExpressMath 是解析其自身的数学/计算问题标记语言的解析器。
标记语言灵感来源于 Jinja 模板。请参阅示例以更好地理解其工作原理

安装

使用 Composer 安装 ExpressMath

composer require terrydjony/express-math

示例

require 'vendor/autoload.php';

use ExpressMath\ExpressMath;

$mathlang = 'Jika Andi punya {{ a }} bola, dan Budi punya {{ b }} bola, maka jumlah bola mereka adalah {% a + b %}';
$config = [
    'a' => mt_rand(2,5)
];

$expressMath = new ExpressMath();

$eval = $expressMath->eval($mathlang, $config);

var_dump($eval->getProblem()); // Jika Andi punya 4 bola, dan Budi punya 56 bola, maka jumlah bola mereka adalah
var_dump($eval->getVariables()); //   ['a' => 4, 'b' => 56]
var_dump($eval->getValue()); // 60