🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ast::ScriptExecutor类 参考abstract

#include <ScriptExecutor.hpp>

+ 类 ast::ScriptExecutor 继承关系图:

Public 成员函数

virtual ~ScriptExecutor ()=default
 
virtual errc_t initialize ()=0
 
virtual void finalize ()=0
 
virtual errc_t execute (StringView script, ScriptResult *resultOut=nullptr)=0
 
virtual errc_t evaluate (StringView expression, ScriptResult *resultOut=nullptr)
 
errc_t execute (StringView script, std::string *error)
 
virtual std::string getLastError () const =0
 
virtual errc_t setVariable (StringView name, StringView value)=0
 
virtual errc_t setVariable (StringView name, double value)=0
 
virtual errc_t setVariable (StringView name, int value)=0
 
virtual errc_t setVariable (StringView name, bool value)=0
 
errc_t setVariable (Variable *var)
 
virtual errc_t getVariable (StringView name, std::string &value) const =0
 
virtual errc_t getVariable (StringView name, double &value) const =0
 
virtual errc_t getVariable (StringView name, int &value) const =0
 
virtual errc_t getVariable (StringView name, bool &value) const =0
 
errc_t getVariable (Variable *var)
 

详细描述

脚本执行器,用于执行外部脚本

注解
该类是一个抽象类,需要通过继承来实现具体的脚本执行器

用于执行外部脚本,如Python、MATLAB、JavaScript、JScript、VBScript、Julia、Lua 等 每个脚本执行器实例的生命周期由调用方负责管理,调用方需要在使用完成后调用析构函数释放资源 在脚本执行器实例的生命周期内,调用方可以调用execute函数执行执行脚本语句,或者调用evaluate函数对脚本表达式进行求值 并且可以调用setVariable函数设置脚本执行器的全局变量值,调用getVariable函数获取脚本执行器的全局变量值

构造及析构函数说明

◆ ~ScriptExecutor()

virtual ast::ScriptExecutor::~ScriptExecutor ( )
virtualdefault

析构函数

释放所有资源

成员函数说明

◆ evaluate()

errc_t ast::ScriptExecutor::evaluate ( StringView expression,
ScriptResult * resultOut = nullptr )
virtual

对脚本表达式进行求值

参数
expression脚本表达式
resultOut执行结果指针,用于存储求值表达式时的结果
返回
求值结果

ast::ActiveScriptExecutor , 以及 ast::PythonExecutor 重载.

◆ execute() [1/2]

virtual errc_t ast::ScriptExecutor::execute ( StringView script,
ScriptResult * resultOut = nullptr )
pure virtual

执行脚本语句

参数
script要执行的脚本语句
resultOut执行结果指针,用于存储执行脚本语句的返回结果
注解
执行语句是否有返回值取决于脚本语言的设计,例如python执行语句没有返回值,而JavaScript、C、Ruby执行语句有返回值
返回
执行结果

ast::ActiveScriptExecutor , 以及 ast::PythonExecutor 内被实现.

◆ execute() [2/2]

errc_t ast::ScriptExecutor::execute ( StringView script,
std::string * error )

执行脚本(兼容旧版接口)

参数
script要执行的脚本内容
error错误信息指针,用于存储执行脚本时的错误信息
返回
执行结果

◆ finalize()

virtual void ast::ScriptExecutor::finalize ( )
pure virtual

结束脚本执行器

结束脚本执行器,释放所有资源

ast::ActiveScriptExecutor , 以及 ast::PythonExecutor 内被实现.

◆ getLastError()

virtual std::string ast::ScriptExecutor::getLastError ( ) const
pure virtual

获取最近一次执行脚本时的错误信息

警告
注意只能在execute函数执行失败后调用 不要通过调用该函数来判断脚本是否执行成功
返回
最近一次执行脚本时的错误信息

ast::ActiveScriptExecutor , 以及 ast::PythonExecutor 内被实现.

◆ getVariable()

virtual errc_t ast::ScriptExecutor::getVariable ( StringView name,
std::string & value ) const
pure virtual

获取脚本执行器的字符串变量值

参数
name变量名称
value变量值
返回
获取结果

ast::ActiveScriptExecutor , 以及 ast::PythonExecutor 内被实现.

◆ initialize()

virtual errc_t ast::ScriptExecutor::initialize ( )
pure virtual

初始化脚本执行器

初始化脚本执行器,准备执行脚本

返回
初始化结果

ast::ActiveScriptExecutor , 以及 ast::PythonExecutor 内被实现.

◆ setVariable()

virtual errc_t ast::ScriptExecutor::setVariable ( StringView name,
StringView value )
pure virtual

设置脚本执行器的变量

参数
name变量名称
value变量值
返回
设置结果

ast::ActiveScriptExecutor , 以及 ast::PythonExecutor 内被实现.


该类的文档由以下文件生成: