diff src/luan/init.luan @ 118:735708619119

add Debug.debug() git-svn-id: https://luan-java.googlecode.com/svn/trunk@119 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Sun, 01 Jun 2014 07:07:31 +0000
parents 1ff1c32417eb
children
line wrap: on
line diff
--- a/src/luan/init.luan	Fri May 30 08:57:24 2014 +0000
+++ b/src/luan/init.luan	Sun Jun 01 07:07:31 2014 +0000
@@ -1,6 +1,6 @@
 --Io.stdout.write "this is init.luan\n"
 
-function _G.print(...)
+local function print(...)
 	local list = {}
 	for v in Basic.values(...) do
 		list[#list+1] = to_string(v)
@@ -13,3 +13,24 @@
 		Io.stdout.write( Table.unpack(list) )
 	end
 end
+
+_G.print = print
+
+
+local Debug = {}
+Package.loaded.Debug = Debug
+_G.Debug = Debug
+
+function Debug.debug(prompt)
+	prompt = prompt or "luan_debug> "
+	local function console()
+		return Io.read_console_line(prompt)
+	end
+	for line in console do
+		local fn = load(line,"stdin",true)
+		local result = Table.pack( fn() )
+		if result.n > 0 then
+			print( Table.unpack(result,1,result.n) )
+		end
+	end
+end