Ver Fonte

Update to show more possible ways of usage.

mingodad há 13 anos atrás
pai
commit
4f900f99b1
1 ficheiros alterados com 51 adições e 11 exclusões
  1. 51 11
      SquiLu/samples/test-sqlite3.nut

+ 51 - 11
SquiLu/samples/test-sqlite3.nut

@@ -1,6 +1,37 @@
 local db = SQLite3(":memory:");
 print(db);
 
+class MultiplyDecimal3 {
+	first = null;
+	second = null;
+	thirdy = null;
+	constructor(){
+		first = Decimal(0);
+		second = Decimal(0);
+		thirdy = Decimal(0);
+	}
+	function reset(){
+		first.set(0);
+		second.set(0);
+		thirdy.set(0);
+	}
+	function doIt(){
+		return (first * second * thirdy).tostring();
+	}
+}
+
+local function multiply3_MultiplyDecimal3(ctx,a,b,c){
+	//print(ctx.user_data());
+	//local m3 = Multiply3();
+	local m3 = ctx.user_data();
+	m3.reset();
+	m3.first.set(a);
+	m3.second.set(b);
+	m3.thirdy.set(c);
+	ctx.result_text(m3.doIt());
+	//ctx.result_double(a*b*c);
+}
+
 class Multiply3 {
 	first = null;
 	second = null;
@@ -16,17 +47,26 @@ class Multiply3 {
 	}
 }
 
-db.create_function("multiply3",3,function(ctx,a,b,c){
-		//print(ctx.user_data());
-		//local m3 = Multiply3();
-		local m3 = ctx.user_data();
-		m3.reset();
-		m3.first = a;
-		m3.second = b;
-		m3.thirdy = c;
-		ctx.result_double(m3.doIt());
-		//ctx.result_double(a*b*c);
-	}, Multiply3());
+local function multiply3_Multiply3(ctx,a,b,c){
+	//print(ctx.user_data());
+	//local m3 = Multiply3();
+	local m3 = ctx.user_data();
+	m3.reset();
+	m3.first = a;
+	m3.second = b;
+	m3.thirdy = c;
+	ctx.result_double(m3.doIt());
+	//ctx.result_double(a*b*c);
+}
+
+local function multiply3(ctx,a,b,c){
+	//print(ctx.user_data());
+	//ctx.result_double(a*b*c);
+}
+
+//db.create_function("multiply3",3, multiply3_MultiplyDecimal3, MultiplyDecimal3());
+//db.create_function("multiply3",3, multiply3_Multiply3, Multiply3());
+db.create_function("multiply3",3, multiply3);
 
 local sql = "select 1.2*2.5*3.6;";
 local sql_squilu = "select multiply3(1.2,2.5,3.6);";