32 lines
638 B
Plaintext
32 lines
638 B
Plaintext
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
|