Я хотел бы интегрировать exprtk в приложение C ++ (с открытым исходным кодом), я строю. Многие из них пересекаются в режиме реального времени. < /p>
Например, я хотел бы оценить < /p>
"superl_temp> 60" или что -то вроде "Today_mins> 3600 && relay_1 == true" < /p>
Я должен указать все имена с переменным время. Я посмотрел значения, а затем оцениваемые в Expression.value () время? < /P>
Что считается каноническим способом сделать это? Должен ли я создать функцию поиска и передать имя переменной в виде строки? т.е. "Lookup (" Oversy_temp ")> 60"? Я не уверен, что это что -то покупает, потому что неясно, смогу ли я сериализовать контекст exprtk на потом?void test1() {
using T = double;
typedef exprtk::symbol_table symbol_table_t;
typedef exprtk::expression expression_t;
typedef exprtk::parser parser_t;
symbol_table_t immutable_symbol_table( symbol_table_t::symtab_mutability_type::e_immutable);
double outside_temp = -4;
immutable_symbol_table.add_variable("OUTSIDE_TEMP" , outside_temp );
expression_t expression;
expression.register_symbol_table(immutable_symbol_table);
parser_t parser;
if (!parser.compile("OUTSIDE_TEMP > 60.0", expression))
{
cout
Подробнее здесь: https://stackoverflow.com/questions/794 ... rnal-value