Mercurial Hosting > luan
diff src/luan/lib/BasicLib.java @ 115:eacf6ce1b47d
add IoLib
git-svn-id: https://luan-java.googlecode.com/svn/trunk@116 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Thu, 29 May 2014 09:26:44 +0000 |
parents | f5af13062b10 |
children | 1ff1c32417eb |
line wrap: on
line diff
--- a/src/luan/lib/BasicLib.java Mon May 26 05:39:54 2014 +0000 +++ b/src/luan/lib/BasicLib.java Thu May 29 09:26:44 2014 +0000 @@ -6,6 +6,8 @@ import java.lang.reflect.Method; import java.util.Iterator; import java.util.Map; +import java.util.List; +import java.util.ArrayList; import luan.Luan; import luan.LuanState; import luan.LuanTable; @@ -63,12 +65,15 @@ } public static void print(LuanState luan,Object... args) throws LuanException { + LuanFunction write = (LuanFunction)luan.get("Io.stdout.write"); + List list = new ArrayList(); for( int i=0; i<args.length; i++ ) { if( i > 0 ) - luan.out.print('\t'); - luan.out.print( luan.JAVA.toString(args[i]) ); + list.add("\t"); + list.add(args[i]); } - luan.out.println(); + list.add("\n"); + write.call(luan,list.toArray()); } public static String type(Object obj) { @@ -83,16 +88,12 @@ } - public static LuanFunction load_file(LuanState luan,String fileName) throws LuanException { - try { - String src = fileName==null ? Utils.readAll(new InputStreamReader(System.in)) : Utils.read(new File(fileName)); - return load(luan,src,fileName,false); - } catch(IOException e) { - throw luan.JAVA.exception(e); - } + public static LuanFunction load_file(LuanState luan,String fileName) throws LuanException, IOException { + String src = fileName==null ? Utils.readAll(new InputStreamReader(System.in)) : Utils.read(new File(fileName)); + return load(luan,src,fileName,false); } - public static Object do_file(LuanState luan,String fileName) throws LuanException { + public static Object do_file(LuanState luan,String fileName) throws LuanException, IOException { LuanFunction fn = load_file(luan,fileName); return luan.JAVA.call(fn,null); }