lua-resty-orderedtable

一个带排序索引的有序表

$ opm get kwanhur/lua-resty-orderedtable

lua-resty-orderedtable

lua-resty-orderedtable - 一个带排序索引的有序表

概要

        lua_package_path "/path/to/lua-resty-orderedtable/lib/?.lua;;";
    
        server {
            location /test {
                content_by_lua '
                local ot = require('orderedtable')
                local ort = ot:new(true)
    
                -- add one key-value pair
                ort:add('d', 10)
                ort:add('b', 12)
                ort:add('c', 8)
                ort:add('e', 1222)
    
                -- iterate ordered table
                for i, key, value in ort:pairs() do
                    print(i, key, value)
                end
    
                -- next ordered table
                local i, key, value = ort:next(2)
                print(i, key, value)
    
                -- slice subtable from ordered table
                local subTbl = ort:slice(1, 3)
                for i, key, value in subTbl:pairs() do
                    print(i, key, value)
                end
    
                -- count ordered table
                print(ort:count())
                ';
            }
        }

方法

new

语法: ort = orderedtable()

创建一个新的有序表对象。

add

语法: ort:add(key, value)

将键值对添加到内部排序表中

pairs

语法: for i, key, value in ort:pairs()

迭代内部排序表

next

语法: local i, key, value = ort:next(index)

从内部排序表中获取指定索引的元素

slice

语法: local subTbl = ort:slice(first, last, step)

从内部排序表中获取子排序表

count

语法: local counter = ort:count()

获取内部排序表元素的数量

安装

您可以使用 opm 安装它。就像这样:opm install kwanhur/lua-resty-orderedtable

作者

kwanhur <huang_hua2012@163.com>, VIPS Inc.

版权和许可

该模块在 Apache License Version 2.0 下获得许可。

版权所有 (C) 2016,由 kwanhur <huang_hua2012@163.com>, VIPS Inc.

保留所有权利。

在满足以下条件的情况下,允许以源代码和二进制形式重新分发和使用,无论是否修改:

  • 源代码的再分发必须保留上述版权声明、此条件列表和以下免责声明。

  • 二进制形式的再分发必须在随分发提供的文档和/或其他材料中复制上述版权声明、此条件列表和以下免责声明。

本软件由版权持有人和贡献者“按原样”提供,并且不提供任何明示或暗示的担保,包括但不限于适销性和特定用途适用性的暗示担保。在任何情况下,版权持有人或贡献者均不对任何直接、间接、附带、特殊、惩罚性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润损失;或业务中断)负责,无论这些损害是因使用本软件引起的还是与之相关的,无论是基于合同、严格责任还是侵权行为(包括疏忽或其他原因)而引起的,即使已被告知此类损害的可能性。

作者

Kwanhur

许可证

apache2

依赖项

luajit

版本