Mercurial Hosting > luan
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 } |