delete_last

func delete_last(ls : List+String) -> (Entity*List)+(Character*String)
  return [last(ls), all_but_last(ls)]

Returns a list consisting of the last element of the given list or string as well as a copy of the given list or string, but without the last element. For example:
  delete_last(`abc') = [`c' `ab']
  delete_last([1 2 3]) = [3 [1 2]]
  delete_last([]) = []
A typical use is as follows:
  while Stack /= []
    top, Stack := delete_last(Stack)
    ...
    if ...
      Stack +:= [f(top), g(top)]
    end
    ...
  loop
See also: delete_first

Herman Venter

This is Slim documentation as snarfed on 27 May 1999 by dB.