public function evaluate($expression, $variables)
{
if (preg_match('!^(.*?)\\s=>\\s*!', $expression, $m)) {
list(, $varname) = $m;
$variables = [$varname => $variables];
$expression = preg_replace('!(^.*\\s=>\\s*)!', '', $expression);
}
$language = new ExpressionLanguage();
$this->hydrates($language);
return $language->evaluate($expression, $variables);
}