class Buffer -- number -> Buffer -- creates a new Buffer with the given limit number new: (limit = 5) => @limit = limit -- number @data = {} -- table -- nil -- clears all entries in @data if its length is above number @limit purge: => if #@data > @limit table.remove @data, 1 @purge! else return -- anything -> nil -- adds the given line anything to @data and calls the too long purging function add: (line) => table.insert @data, line @purge! with Buffer 5 while true n = io.read! if n ~= nil \add n else break for _, i in pairs .data print i