comparison core/src/luan/modules/BasicLuan.java @ 260:f1f7d8c7e94e

add Io.protocols git-svn-id: https://luan-java.googlecode.com/svn/trunk@261 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Tue, 28 Oct 2014 23:25:13 +0000
parents 705d14f4d8ee
children 9e0d4452e649
comparison
equal deleted inserted replaced
259:f9b201530b85 260:f1f7d8c7e94e
73 return LuanCompiler.compile(luan,new LuanSource(sourceName,text),env,allowExpr); 73 return LuanCompiler.compile(luan,new LuanSource(sourceName,text),env,allowExpr);
74 } 74 }
75 75
76 public static LuanFunction load_file(LuanState luan,String fileName) throws LuanException { 76 public static LuanFunction load_file(LuanState luan,String fileName) throws LuanException {
77 try { 77 try {
78 String src = fileName==null ? Utils.readAll(new InputStreamReader(System.in)) : IoLuan.luanIo(luan,fileName).read_text(); 78 String src;
79 if( fileName==null ) {
80 src = Utils.readAll(new InputStreamReader(System.in));
81 } else {
82 LuanTable t = IoLuan.get(luan,fileName);
83 if( t == null )
84 throw luan.exception( "file '"+fileName+"' not found" );
85 LuanFunction fn = (LuanFunction)t.get("read_text");
86 src = (String)Luan.first(luan.call(fn));
87 }
79 return load(luan,src,fileName,null,false); 88 return load(luan,src,fileName,null,false);
80 } catch(IOException e) { 89 } catch(IOException e) {
81 throw luan.exception(e); 90 throw luan.exception(e);
82 } 91 }
83 } 92 }