aerospike lua 构建有序列表
所属分类 aerospike
浏览量 1002
dataList 可以为字符串或数字
保证类型要一致
local function putIntoSortedList(dataList, value)
if ( value == nil) then
return
end
local size = list.size(dataList);
if (size <= 0) then
list.append(dataList,value)
return
end
local index = 1
while (true) do
if (index > size) then
list.append(dataList,value)
return
end
if (value <= dataList[index]) then
list.insert(dataList, index, value)
return
end
index = index+1
end
end
-----
function buildSortedList(rec,params)
local dataList = list()
if(params==nil) then
return dataList
end
for item in list.iterator(params) do
if(item~=nil) then
putIntoSortedList(dataList, item)
end
end
return dataList
end
--------
String ns = "namespsasce1";
String set = "testdataset";
String pk = "BuildSortedListTest_key1";
String packageName = "testlua";
String functionName = "buildSortedList";
IAerospikeClient client = AsClientUtil.getClient();
System.out.println("client=" + client);
Key key = new Key(ns, set, pk);
List params = new ArrayList<>();
params.add("9");
params.add("10");
params.add("7");
params.add("19");
params.add("110");
Object result = client.execute(null, key, packageName, functionName,Value.get(params));
System.out.println("params=" + params);
System.out.println(functionName + ".result=" + result);
输出结果
params=[9, 10, 7, 19, 110]
buildSortedList.result=[10, 110, 19, 7, 9]
可以直接使用lua内置的table.sort
lua table 排序
aerospike udf 使用之 list
上一篇
下一篇
jdk16 ZGC 改进
字符串编辑距离 Levenstein edit distance
最简单的RPC框架实例
接口幂等几种实现
java NIO 服务端例子2
Spring容器初始化过程