table.define(t,...)方法,预先指定一个空表的键
这个应该可以预先指定一些key,然后tab在不断的增加后,可以找到哪些key是原来的,哪些是后补的。很好用的一个方法。
table库中eachName方法,是一个迭代器,证据如下:
eachName = function(t,f,n){
var keys = keys(t,f,n);
var i,k;
return function () {
i,k = next(keys,i)
if(k) return k, t[k];
}
};
f是排序方法,n是优先指定那些键放在前面。值得注意的,n是一个table类型的,第二个是 t 的每个键必须有值( 无值就不排序)。这是一个坑。define过来的键,在这里无法排序。这一切都是都是因为它调用了keys方法,这个方法返回所有的键(也是一个由键组成的table)
至于这个f参数,文档没有,但是我用:
var func=function(...){
console.dump(...);
}
table.sort(table.keys(tab),func)//这里用sort是因为这个是keys()中调用的,主要就是用这个的。
console的结果,就是第一个键名称
//比较方法可以这样用
var func=function(x){
console.log(index,owner,x)
index++;
return owner>x
}