• array


    模块说明

    实用可扩展的数组。

    数组描述

    • 数组可以随需要固定大小或者自动增长。未设置的条目有默认值。
    • 数组开始下标为0,和其他erlang数据结构(比如元组)不同。
    • 除非创建数组的时候指定默认值,否则默认为原子undefined。数组无法区分默认值和设置值一样的情况,因此需要避免。
    • 数组不会自动收缩;索引I设置了值后,则[0,I]范围都可以访问,除非调用了resize/2
    • 超出固化数组范围的操作都会以badarg fail
    • 不合法的参数也会badarg fail,比如索引不是非负整数,函数不符合要求

    导出函数

    • default(数组) :返回数组默认值
    • fix(数组) : 固化数组
    • foldl( 函数(索引,值),归集初始化,  数组)  : 从0到size(数组)-1 归集,返回归集
    • foldr: 参见foldl ,反向归集
    • from_list(列表) :从列表转数组,默认值undefined
    • from_list(列表,默认值) : 参见上
    • from_orddict(列表)  : 从有序列表转化,列表为{索引,值}组成的有序列表,默认值undefined
    • from_orddict(列表,默认值) : 参见上
    • get(索引,数组) :获取索引的值
    • is_array(数组) : 判断是否数组,浅判断,简单的根据头部?
    • is_fix(数组)  :是否固化
    • map(函数,数组) :  函数(索引,值) 返回新值, map 返回新数组
    • new() : 创建初始大小为0的非固化数组,默认值undefined
    • new(选项参数)   : 创建指定选项参数的数组, 选项参数为单个选项或者选项列表,选项列表中最后的覆盖前面的
    • new(大小,选项参数)  : 参上,把大小单独列出,大小可能被选项参数覆盖。指定大小会固化,除非被选项参数{fixed,false}覆盖。
    • relax(数组)    : 返回取消固化后的新数组
    • reset(索引,数组)  : 重置数组索引项为默认值,如果索引项刚好为默认值,则原封返回,否则返回新数组
    • resize(数组)  :根据sparse_size/1 返回调整size后的新数组,继承固化属性
    • resize(size,数组)  : 调整数组到 size大小, 继承固化属性。 不知道用来干什么?会回收资源?
    • set(索引,新值,数组)  : 设置数组,返回新数组
    • size(数组)   :获取数组大小
    • sparse_foldl/3  : 参见 foldl ,只是跳过默认值的项
    • sparse_foldr/3 :  参见foldr , 只是跳过默认值的项
    • sparse_size(数组) :  返回从0到最后非默认值区间的大小
    • sparse_to_list(数组)  :转为列表,跳过默认值项
    • sparse_to_orddict(数组)  :转为{索引,值}的有序列表,跳过默认值项
    • to_list(数组)   :转为列表
    • to_orddict(数组)  : 转为{索引,值}的有序列表
  • 相关阅读:
    1025WHERE执行顺序以及MySQL查询优化器
    1025基础REDIS
    1025关于explain的补充1
    1021mysql 全外连接
    python开发进程:进程开启方式&多进程
    python开发面向对象进阶:反射&内置函数
    python开发socket套接字:粘包问题&udp套接字&socketserver
    python开发面向对象基础:封装
    python开发模块基础:异常处理&hashlib&logging&configparser
    python开发面向对象基础:接口类&抽象类&多态&钻石继承
  • 原文地址:https://www.cnblogs.com/rubyist/p/erlang_stdlib_array.html
Copyright © 2020-2023  润新知