awtk/docs/manual/object_array_t.md
2021-08-03 07:53:37 +08:00

16 KiB
Raw Blame History

object_array_t

概述

image

简单的动态数组内部存放value对象。

访问时属性名称为:

  • "size"/"length" 用于获取数组的长度。
  • index 用于访问属性,-1可以用来追加新元素。

函数

函数名称 说明
object_array_avg 求平均值。
object_array_clear_props 清除全部属性。
object_array_clone 克隆对象。
object_array_create 创建对象。
object_array_create_with_str 通过字符串构建数组。
object_array_dup 复制部分或全部元素。
object_array_get 获取指定序数的元素。
object_array_get_and_remove 在指定位置删除一个元素,并返回它。
object_array_index_of 查找元素出现的第一个位置。
object_array_insert 在指定位置插入一个元素。
object_array_join 使用分隔符把各个元素拼接起来。
object_array_last_index_of 查找元素出现的最后一个位置。
object_array_max 查找最大值。
object_array_min 查找最小值。
object_array_pop 弹出最后一个元素。
object_array_push 追加一个元素。
object_array_remove 在指定位置删除一个元素。
object_array_set 设置指定序数的元素。
object_array_shift 弹出第一个元素。
object_array_sort 排序。
object_array_sort_as_double 按浮点数排序。
object_array_sort_as_int 按整数排序。
object_array_sort_as_str 按字符串排序。
object_array_sum 求和。
object_array_unref for script gc

属性

属性名称 类型 说明
capacity uint32_t 属性数组的容量。
props value_t 属性数组。
size uint32_t 属性个数。

object_array_avg 函数


  • 函数功能:

求平均值。

  • 函数原型:
ret_t object_array_avg (object_t* obj, value_t* result);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 数组对象。
result value_t* 结果。

object_array_clear_props 函数


  • 函数功能:

清除全部属性。

  • 函数原型:
ret_t object_array_clear_props (object_t* obj);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 对象。

object_array_clone 函数


  • 函数功能:

克隆对象。

  • 函数原型:
object_t* object_array_clone (object_t* o);
  • 参数说明:
参数 类型 说明
返回值 object_t* 返回object对象。
o object_t* 被克隆的对象。

object_array_create 函数


  • 函数功能:

创建对象。

  • 函数原型:
object_t* object_array_create ();
  • 参数说明:
参数 类型 说明
返回值 object_t* 返回object对象。

object_array_create_with_str 函数


  • 函数功能:

通过字符串构建数组。

  • 函数原型:
object_t* object_array_create_with_str (const char* str, const char* sep, value_type_t type);
  • 参数说明:
参数 类型 说明
返回值 object_t* 返回object对象。
str const char* 字符串
sep const char* 分隔符。
type value_type_t 类型。

object_array_dup 函数


  • 函数功能:

复制部分或全部元素。

  • 函数原型:
object_t* object_array_dup (object_t* obj, uint32_t start, uint32_t end);
  • 参数说明:
参数 类型 说明
返回值 object_t* 返回object对象。
obj object_t* 数组对象。
start uint32_t 开始的位置。
end uint32_t 结束的位置(不包含)。

object_array_get 函数


  • 函数功能:

获取指定序数的元素。

  • 函数原型:
ret_t object_array_get (object_t* obj, uint32_t i, value_t* v);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 数组对象。
i uint32_t 序数。
v value_t* 返回的元素。

object_array_get_and_remove 函数


  • 函数功能:

在指定位置删除一个元素,并返回它。

  • 函数原型:
ret_t object_array_get_and_remove (object_t* obj, uint32_t index, value_t* v);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 对象。
index uint32_t 位置。
v value_t* 用于返回值。

object_array_index_of 函数


  • 函数功能:

查找元素出现的第一个位置。

  • 函数原型:
int32_t object_array_index_of (object_t* obj, const value_t* v);
  • 参数说明:
参数 类型 说明
返回值 int32_t 如果找到返回其位置,否则返回-1。
obj object_t* 对象。
v const value_t* 值。

object_array_insert 函数


  • 函数功能:

在指定位置插入一个元素。

  • 函数原型:
ret_t object_array_insert (object_t* obj, uint32_t index, const value_t* v);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 对象。
index uint32_t 位置。
v const value_t* 值。

object_array_join 函数


  • 函数功能:

使用分隔符把各个元素拼接起来。

  • 函数原型:
ret_t object_array_join (object_t* obj, const char* sep, str_t* result);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 数组对象。
sep const char* 分隔符。
result str_t* 生成的字符串。

object_array_last_index_of 函数


  • 函数功能:

查找元素出现的最后一个位置。

  • 函数原型:
int32_t object_array_last_index_of (object_t* obj, const value_t* v);
  • 参数说明:
参数 类型 说明
返回值 int32_t 如果找到返回其位置,否则返回-1。
obj object_t* 对象。
v const value_t* 值。

object_array_max 函数


  • 函数功能:

查找最大值。

  • 函数原型:
ret_t object_array_max (object_t* obj, value_t* result);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 数组对象。
result value_t* 结果。

object_array_min 函数


  • 函数功能:

查找最小值。

  • 函数原型:
ret_t object_array_min (object_t* obj, value_t* result);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 数组对象。
result value_t* 结果。

object_array_pop 函数


  • 函数功能:

弹出最后一个元素。

  • 函数原型:
ret_t object_array_pop (object_t* obj, value_t* v);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 对象。
v value_t* 返回值。

object_array_push 函数


  • 函数功能:

追加一个元素。

  • 函数原型:
ret_t object_array_push (object_t* obj, const value_t* v);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 对象。
v const value_t* 值。

object_array_remove 函数


  • 函数功能:

在指定位置删除一个元素。

  • 函数原型:
ret_t object_array_remove (object_t* obj, uint32_t index);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 对象。
index uint32_t 位置。

object_array_set 函数


  • 函数功能:

设置指定序数的元素。

  • 函数原型:
ret_t object_array_set (object_t* obj, uint32_t i, const value_t* v);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 数组对象。
i uint32_t 序数。
v const value_t* 元素。

object_array_shift 函数


  • 函数功能:

弹出第一个元素。

  • 函数原型:
ret_t object_array_shift (object_t* obj, value_t* v);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 对象。
v value_t* 返回值。

object_array_sort 函数


  • 函数功能:

排序。

  • 函数原型:
ret_t object_array_sort (object_t* obj, tk_compare_t cmp);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 数组对象。
cmp tk_compare_t 比较函数。

object_array_sort_as_double 函数


  • 函数功能:

按浮点数排序。

  • 函数原型:
ret_t object_array_sort_as_double (object_t* obj, bool_t ascending);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 数组对象。
ascending bool_t 升序或降序。

object_array_sort_as_int 函数


  • 函数功能:

按整数排序。

  • 函数原型:
ret_t object_array_sort_as_int (object_t* obj, bool_t ascending);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 数组对象。
ascending bool_t 升序或降序。

object_array_sort_as_str 函数


  • 函数功能:

按字符串排序。

  • 函数原型:
ret_t object_array_sort_as_str (object_t* obj, bool_t ascending, bool_t ignore_case);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 数组对象。
ascending bool_t 升序或降序。
ignore_case bool_t 是否忽略大小写。

object_array_sum 函数


  • 函数功能:

求和。

  • 函数原型:
ret_t object_array_sum (object_t* obj, value_t* result);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 数组对象。
result value_t* 结果。

object_array_unref 函数


  • 函数功能:

for script gc

  • 函数原型:
ret_t object_array_unref (object_t* obj);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
obj object_t* 对象。

capacity 属性


属性数组的容量。

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

props 属性


属性数组。

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

size 属性


属性个数。

  • 类型uint32_t
特性 是否支持
可直接读取
可直接修改
可脚本化