예제 #1
0
 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);
         }
     }
 }
예제 #2
0
 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);
 }