All Manuals > LispWorks User Guide and Reference Manual > 38 The HCL Package

NextPrevUpTopContentsIndex

rotate-ring

Function
Summary

Rotates a ring, that is moves the insertion point.

Package

hcl

Signature

rotate-ring ring how-many => object

Arguments

ring

A ring object created by make-ring.

how-many

A fixnum.

Values

object

A Lisp object.

Description

The function rotate-ring rotates the ring, that is it moves the insertion point "back", which is the same direction that ring-pop would progress.

how-many is the number of positions to rotate. It has to be a fixnum, but otherwise is not limited.

rotate-ring returns the element before the insertion point after the rotation (the one that (ring-ref ring 0) would return if called immediately after rotate-ring).

Examples

If the ring contains 3 elements or more, then

(progn
  (ring-pop ring
)
  (ring-pop ring
)
  (ring-ref ring
 0))

returns the same value as:

(rotate-ring ring 2)

but the second form does not remove an element from the ring, while the first form removes 2 elements.

See also

ring-push
make-ring
ring-pop
ring-ref


LispWorks User Guide and Reference Manual - 13 Feb 2015

NextPrevUpTopContentsIndex