diff src/luan/modules/TableLuan.java @ 1267:9fa8b8389578

add LuanTable.luan; support metatable __gc(); add luan.sql;
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 12 Nov 2018 02:10:41 -0700
parents 7ef40e1923b7
children 5ba660381bd5
line wrap: on
line diff
--- a/src/luan/modules/TableLuan.java	Sun Sep 30 19:10:48 2018 -0600
+++ b/src/luan/modules/TableLuan.java	Mon Nov 12 02:10:41 2018 -0700
@@ -17,10 +17,10 @@
 
 	public static String concat(LuanState luan,LuanTable list,String sep,Integer i,Integer j) throws LuanException {
 		int first = i==null ? 1 : i;
-		int last = j==null ? list.length(luan) : j;
+		int last = j==null ? list.length() : j;
 		StringBuilder buf = new StringBuilder();
 		for( int k=first; k<=last; k++ ) {
-			Object val = list.get(luan,k);
+			Object val = list.get(k);
 			if( val==null )
 				break;
 			if( sep!=null && k > first )
@@ -84,23 +84,23 @@
 		}
 	}
 
-	public static LuanTable pack(Object... args) {
-		LuanTable tbl = new LuanTable(Arrays.asList(args));
+	public static LuanTable pack(LuanState luan,Object... args) {
+		LuanTable tbl = new LuanTable(luan,Arrays.asList(args));
 		tbl.rawPut( "n", args.length );
 		return tbl;
 	}
 
-	@LuanMethod public static Object[] unpack(LuanState luan,LuanTable tbl,Integer iFrom,Integer iTo) throws LuanException {
+	@LuanMethod public static Object[] unpack(LuanTable tbl,Integer iFrom,Integer iTo) throws LuanException {
 		int from = iFrom!=null ? iFrom : 1;
-		int to = iTo!=null ? iTo : tbl.length(luan);
+		int to = iTo!=null ? iTo : tbl.length();
 		List<Object> list = new ArrayList<Object>();
 		for( int i=from; i<=to; i++ ) {
-			list.add( tbl.get(luan,i) );
+			list.add( tbl.get(i) );
 		}
 		return list.toArray();
 	}
 
-	public static LuanTable copy(LuanTable list,Integer from,Integer to) {
+	public static LuanTable copy(LuanState luan,LuanTable list,Integer from,Integer to) {
 		if( from == null )
 			return new LuanTable(list);
 		if( to == null )
@@ -124,4 +124,8 @@
 		return tbl.rawSize();
 	}
 
+	public static LuanTable toTable(LuanState luan,Object obj) {
+		return luan.toTable(obj);
+	}
+
 }