awtk/docs/manual/fscript_t.md
2020-12-08 09:04:40 +08:00

5.1 KiB
Raw Blame History

fscript_t

概述

一个简易的函数式脚本引擎。 用法请参考:https://github.com/zlgopen/awtk/blob/master/docs/fscript.md

函数

函数名称 说明
fscript_create 创建引擎对象。
fscript_destroy 销毁引擎对象。
fscript_eval 执行一段脚本。
fscript_exec
fscript_global_deinit 全局释放。
fscript_global_init 全局初始化。
fscript_register_func 注册全局自定义函数。

属性

属性名称 类型 说明
fast_vars value_t* 快速访问变量。在脚本可以用a/b/c/d来访问需要优化时使用。
obj object_t* 脚本执行上下文。
str str_t C语言实现函数可以使用这个变量可以有效避免内存分配。

fscript_create 函数


  • 函数功能:

创建引擎对象。

  • 函数原型:
fscript_t* fscript_create (object_t* obj, const char* script);
  • 参数说明:
参数 类型 说明
返回值 fscript_t* 返回fscript对象。
obj object_t* 脚本执行上下文。
script const char* 脚本代码。

fscript_destroy 函数


  • 函数功能:

销毁引擎对象。

  • 函数原型:
ret_t fscript_destroy (fscript_t* fscript);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
fscript fscript_t* 脚本引擎对象。

fscript_eval 函数


  • 函数功能:

执行一段脚本。

  • 函数原型:
ret_t fscript_eval (object_t* obj, const char* script, value_t* result);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 脚本执行上下文。
script const char* 脚本代码。
result value_t* 执行结果(调用者需要用value_reset函数清除result)。

fscript_exec 函数


  • 函数功能:

  • 函数原型:
ret_t fscript_exec (fscript_t* fscript, value_t* result);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
fscript fscript_t* 脚本引擎对象。
result value_t* 执行结果(调用者需要用value_reset函数清除result)。

fscript_global_deinit 函数


  • 函数功能:

全局释放。

  • 函数原型:
ret_t fscript_global_deinit ();
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。

fscript_global_init 函数


  • 函数功能:

全局初始化。

  • 函数原型:
ret_t fscript_global_init ();
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。

fscript_register_func 函数


  • 函数功能:

注册全局自定义函数。

  • 函数原型:
ret_t fscript_register_func (const char* name, fscript_func_t* func);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
name const char* 函数名(无需加函数前缀)。
func fscript_func_t* 函数指针。

fast_vars 属性


快速访问变量。在脚本可以用a/b/c/d来访问需要优化时使用。

  • 类型value_t*
特性 是否支持
可直接读取
可直接修改

obj 属性


脚本执行上下文。

  • 类型object_t*
特性 是否支持
可直接读取
可直接修改

str 属性


C语言实现函数可以使用这个变量可以有效避免内存分配。

  • 类型str_t
特性 是否支持
可直接读取
可直接修改