24#include "AstScript/Value.hpp"
50AST_SCRIPT_API std::string toString(EScriptLanguage type);
59AST_SCRIPT_CAPI ScriptExecutor* aNewScriptExecutor(EScriptLanguage type);
67 const std::string& error()
const {
return error_; }
68 Value* value()
const {
return value_.get(); }
114 errc_t execute(
StringView script, std::string* error);
128 virtual errc_t setVariable(
StringView name,
double value) = 0;
129 virtual errc_t setVariable(
StringView name,
int value) = 0;
130 virtual errc_t setVariable(
StringView name,
bool value) = 0;
131 errc_t setVariable(
StringView name,
const char* value){
return setVariable(name,
StringView(value));}
132 errc_t setVariable(
StringView name,
const std::string& value){
return setVariable(name,
StringView(value));}
133 errc_t setVariable(Variable* var);
138 template <typename T, typename = typename std::enable_if<!std::is_convertible<T, StringView>::value>::type>
139 errc_t setVariable(StringView name, T value) =
delete;
146 virtual errc_t getVariable(
StringView name,
double& value)
const = 0;
147 virtual errc_t getVariable(
StringView name,
int& value)
const = 0;
148 virtual errc_t getVariable(
StringView name,
bool& value)
const = 0;
脚本执行器,用于执行外部脚本
定义 ScriptExecutor.hpp:81
virtual std::string getLastError() const =0
获取最近一次执行脚本时的错误信息
virtual errc_t execute(StringView script, ScriptResult *resultOut=nullptr)=0
执行脚本语句
virtual errc_t initialize()=0
初始化脚本执行器
virtual errc_t setVariable(StringView name, StringView value)=0
设置脚本执行器的变量
virtual ~ScriptExecutor()=default
析构函数
virtual errc_t getVariable(StringView name, std::string &value) const =0
获取脚本执行器的字符串变量值
virtual void finalize()=0
结束脚本执行器
脚本执行结果
定义 ScriptExecutor.hpp:65
EScriptLanguage
脚本类型
定义 ScriptExecutor.hpp:38
@ eJavaScript
JavaScript 脚本