rotatef

Title
rotatef
Type
Macro
Arguments
rotatef {PLACE}*
Package
lisp
Section
変数と定数
File
setf.l
引数として与えられた値の格納場所の内容をローテーションさせます。

        ┌a ┐  ┌b ┐  ┌c ┐
実行前:│ 1│  │ 2│  │ 3│
        └┬┘  └┬┘  └┬┘
      ┌─┘  ┌─┘  ┌─┘
   (*)┘  ┌─┘  ┌─┘  ┌─(*)
          ↓      ↓      ↓
        ┌a ┐  ┌b ┐  ┌c ┐
実行後:│ 2│  │ 3│  │ 1│
        └─┘  └─┘  └─┘
使用例:
  ;;; a b cに数値を入れてrotatefする。
  (setq a 1 b 2 c 3)    => 3
  (list a b c)          => (1 2 3)
  (rotatef a b c)       => 1
  (list a b c)          => (2 3 1)
Seealso
setf
shiftf