22 lines
600 B
Text
22 lines
600 B
Text
procedure main(A)
|
|
\A := ["cat","hat",7]
|
|
x := history()
|
|
every x.set(!A)
|
|
write("x current value is: ",x.val())
|
|
write("Number of saved values is: ",x.size())
|
|
writes("3 most recent x values from newest to oldest: ")
|
|
every writes(" ",x.gen()\3)
|
|
write()
|
|
while write("x value was: ",\x.get())
|
|
write("Number of saved values is now: ",x.size())
|
|
end
|
|
|
|
class history(x)
|
|
method size(); return *x; end
|
|
method val(); return x[-1]; end
|
|
method set(v); put(x,v); end
|
|
method get(); return pull(x); end
|
|
method gen(); suspend x[*x to 1 by -1]; end
|
|
initially
|
|
x := []
|
|
end
|