public LuaArgs output(LuaArgs args) { if (args.IsNil(0)) { return(new LuaArgs(m_output.Value)); } else if (args.IsObject <LuaFile>(0)) { m_output.Value = args.GetObject <LuaFile>(0); return(LuaArgs.Empty); } else { var path = new FilePath(args.GetString(0)); try { m_output.Value = new LuaFile(m_fileSystem.OpenForWrite(path, false)); return(LuaArgs.Empty); } catch (IOException e) { throw new LuaError(e.Message); } } }
public LuaArgs type(LuaArgs args) { if (args.IsObject <LuaFile>(0)) { var file = args.GetObject <LuaFile>(0); if (file.IsOpen) { return(new LuaArgs("file")); } else { return(new LuaArgs("closed file")); } } return(LuaArgs.Nil); }