io = {} function io.open(path,mode) -- string string -- table -- Open file *path* in *mode*. Returns a buffer object. local f,e = fs.open(path, mode) if not f then return false, e end return buffer.new(mode,f) end function io.input(fd) -- table -- table -- Sets the default input stream to *fd* if provided, either as a buffer as a path. Returns the default input stream. if type(fd) == "string" then fd=io.open(fd,"rb") end if fd then os.setenv("STDIN",fd) end return os.getenv("STDIN") end function io.output(fd) -- table -- table -- Sets the default output stream to *fd* if provided, either as a buffer as a path. Returns the default output stream. if type(fd) == "string" then fd=io.open(fd,"wb") end if fd then os.setenv("STDOUT",fd) end return os.getenv("STDOUT") end function io.read(...) -- Reads from the default input stream. return io.input():read(...) end function io.write(...) -- Writes its arguments to the default output stream. io.output():write(...) end function print(...) -- Writes each argument to the default output stream, separated by newlines. for k,v in ipairs({...}) do io.write(tostring(v).."\n") end end