use SimplePHPEasyPlus\Number\NumberCollection; use SimplePHPEasyPlus\Number\SimpleNumber; use SimplePHPEasyPlus\Number\CollectionItemNumberProxy; use SimplePHPEasyPlus\Parser\SimpleNumberStringParser; use SimplePHPEasyPlus\Iterator\CallbackIterator; use SimplePHPEasyPlus\Operator\AdditionOperator; use SimplePHPEasyPlus\Operation\ArithmeticOperation; use SimplePHPEasyPlus\Operation\OperationStream; use SimplePHPEasyPlus\Engine; use SimplePHPEasyPlus\Calcul\Calcul; use SimplePHPEasyPlus\Calcul\CalculRunner; $numberCollection = new NumberCollection(); $numberParser = new SimpleNumberStringParser(); $firstParsedNumber = $numberParser->parse('1'); $firstNumber = new SimpleNumber($firstParsedNumber); $firstNumberProxy = new CollectionItemNumberProxy($firstNumber); $numberCollection->add($firstNumberProxy); $secondParsedNumber = $numberParser->parse('1'); $secondNumber = new SimpleNumber($secondParsedNumber); $secondNumberProxy = new CollectionItemNumberProxy($secondNumber); $numberCollection->add($secondNumberProxy); $addition = new AdditionOperator('SimplePHPEasyPlus\Number\SimpleNumber'); $operation = new ArithmeticOperation($addition); $engine = new Engine($operation); $calcul = new Calcul($engine, $numberCollection); $runner = new CalculRunner(); $runner->run($calcul); $result = $calcul->getResult(); $numericResult = $result->getValue(); // 2
Source: https://habr.com/ru/post/172119/
All Articles