RosettaCodeData/Task/History-variables/Icon/history-variables.icon
2026-04-30 12:34:36 -04:00

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