fluffos Logo
Fluffos
    • 项目资源
    • 官网网址
    • 下载
    • 工具
    • 下载PDF(开发中)
    • 下载Html压缩包(开发中)
    • 编辑
    • 编辑当前页面

      编辑当前页面内容
    • 创建新页面

      添加创建当前页面内容
    • 更新
    • 创建时间:2019-01-04 13:09:57
    • 创建者:final
    • 最后更新:2020-02-13 14:02:48
    • 最后更新者:final
    • 项目列表(逐步完善中)
    • Evennia 中文文档
    • Fluffos 中文文档
    • Ldmud 中文文档
    • Muddery 中文文档
    • Mudos文档(官方停止更新-同Fluffos)
    • (管理者项目开发中)
    • 0 创建编辑文档列表
    • 个人设置
    • 锁定屏幕
    • 登出

Fluffos 中文文档

  1. 首页
  2. API文档
  3. 阵列(arrays)
阵列(arrays)

阵列(arrays)


allocate

配置记忆体给一个阵列 (array).
语法:
mixed *allocate( int size );
用法:
配置记忆体给一个有 size 个元素 (element)  的阵列.元素的数目必须大於 0, 而且不可以超过系统设定的上限(通常约 10000 左右) . 所有元素的初始值 (initialized)均为 0.
参考:

sizeof(),allocate_mapping()

翻译:Spock @ FF 96.Oct.12. (printed 3/16/95)

arrayp

看一个给定的变数是否为阵列 (array).
语法:
int arrayp( mixed arg );
说明:
如果 arg 是一个阵列, 就传回 1

filter_array

传回一个过滤旧阵列内容的新阵列.
语法:
mixed *filter_array( mixed *arr, string fun, object ob,mixed extra, ... );
mixed *filter_array( mixed *arr, function f,mixed extra, ... );
用法:
filter_array()  传回一个阵列, 这个阵列里保留 arr 经过物件 ob 中的函式 fun  过滤之後的结果.
每一个在阵列 arr中的元素 (element) 会呼叫函式 fun 一次, 并且当成 fun的参数 (parameter). 
如果指定参数 extra 与之後的参数,则在每一次呼叫函式 fun 时当成第二、第三个参数....一个物件在 fun  传回 1  之後, 才视为成功地通过 fun  的过滤(之後物件也包含在传回的阵列中).
在第二种语法中, 如果指定的参数是函式 f, 就与第一种语法中的 ob->fun()  的用法相同. 如果 arr  不是一个阵列, filter_array()  传回 0.
参考:

sort_array(),map_array()

翻译:Spock @ FF 97.Feb.12. (printed 3/16/95)

map_array

经由一个函式修改一个阵列的元素 (element)
语法:
mixed *map_array( mixed *arr, string fun, object ob,mixed extra, ... );
mixed *map_array( mixed *arr, function f, mixed extra,... );
用法:
经由 ob->fun()  或 f  处理每一个 arr  中的元素之後,传回一个新的阵列. 每一个 arr  中的元素会当成指定函式的参数并呼叫一次指定的函式. 参数 extra  会在每次呼叫函式时当成第二个以後的参数. 原则上函式的运作如下:

foreach (index) arr[index] = ob->fun(arr[index],extra);

ob->fun( arr[.index.], extra ) 传回的值会替换掉阵列中的元素. 如果 arr 不是一个阵列, 则 map_array()  传回 0.
参考:

filter_array(),sort_array(),map()

翻译:Spock @ FF 97.Feb.18. (printed 3/16/95)

member_array

在一个阵列 (array) 或字串 (string) 中找寻指定的项目 (item) , 并传回此项目为第几项的索引.
语法:
int member_array( mixed item, mixed * | string arr, void |int start );
用法:
传回 item 在阵列 arr  中第一次出现时, 出现在第几项. 如果使用 start 参数, 则从 start 指定的第几项之後找起. 如果找不到 item, 则传回 -1.
翻译:Spock @ FF 97.Apr.15. (printed 3/16/95)

pointerp

判断指定的变数是否为一个阵列 (array).
语法:
int pointerp( mixed arg );
说明:
如果 arg 是一个阵列, 则传回 1

sort_array

排序一个阵列
语法:
mixed *sort_array( mixed *arr, string fun, object ob );
mixed *sort_array( mixed *arr, function f );
mixed *sort_array( mixed *arr, int direction );
用法:
第一种格式返回一个和参数 "arr" 内元素相同的阵列,元素的顺序按攀升的顺序排列,这个顺序依据阵列内每两个元素分别作为参数呼叫物件 ob 内的函数 fun 的返回值来决定,返回值 -1, 0, 或者 1,来说明这两个元素的关系是 小于,等于,或者 大于。

第二种格式同第一种功能相同,只是用函数指标代替。

第三种格式返回一个和参数 "arr" 内元素相同的阵列,阵列内元素的顺序由第二个参数 "direction" 来决定,0 或者 1 会按照升序排列,如果是 -1 会按照降序排列。而元素之间的大小关系是由内建的程序来比较,但是内建的比较程序有一个局限,它要求阵列必须是同类的,也就是阵列内的元素类型必须相同,类型只能是字符串,整数,浮点数中的一种。如果阵列内包含阵列,它只会比较子阵列的第一个元素。
参考:

filter_array(),map_array(),strcmp()

翻译:发现号(Find@tx)

unique_array

将一个物件阵列分组.
语法:
mixed unique_array( object *obarr, string separator,void | mixed skip );
mixed unique_array( mixed *arr, function f,void | mixed skip );
用法:
unique_array()  将函式 separator  传回同值的物件分为同组. obarr 只能是一个物件阵列, 其他资料型态则予以忽视. 在 obarr  中的每一个物件各会呼叫函式 separator一次. 如果指定参数 skip,  会先过滤掉符合 skip 的物件元素.而第二种语法的作用略有不同. 阵列中的每一个元素将依次作为 f  的参数, 元素仍依照 f  的传回值分类. 但是阵列不限定为物件型态.传回值:传回的值是含有多个阵列的阵列, 格式如下:

({({第一组:1, 第一组:2, .... 第一组:N }),({第二组:1, 第二组:2, .... 第二组:N }),({第三组:1, 第三组:2, .... 第三组:N }),....({第 N 组:1, 第 N 组:2, .... 第 M 组:N }),})
翻译:Spock @ FF 97.jul.25. (printed 3/16/95)

温馨提示

当前页面内容可随意编辑. 但是需要管理员人工审核.

fluffos logo

Fluffos 中文文档

高性能的Mud Driver
  • 目录索引
  • 更新日志
  • 编译
    • Lunix编译
    • Windows编译
  • API文档
    • 互动函数(interactive)
    • 字符串(strings)
    • 套接字(sockets)
    • 物件(objects)
    • 数字(numbers)
    • Mudlib(mudlib)
    • 映射(mappings)
    • 内部处理(internals)
    • 常规(general)
    • 函数(functions)
    • 浮点数(floats)
    • 文件处理(filesystem)
    • 数据库(dbase)
    • 编译(compile)
    • 调用(calls)
    • 缓冲区(buffers)
    • 阵列(arrays)
    • 系统(system)
  • 其他
    • 配置 options.h
最后编辑:final 最后更新时间:2020-02-13 14:02:48
最后编辑:final 最后更新时间:2020-02-13 14:02:48

© 2019 Final开发维护 邮箱:finalcn#126.com