プログラミング原人の進化ログ

プログラミング原人の進化論

オレ プログラミング ベンキョウ スル。マナンダ コト カク。

Common Lisp のインクリメント・デクリメント

Common Lispでインクリメントやデクリメントを行う方法です。紹介するマクロはインクリメント・デクリメントだけでなく色々できます。

incf, decf

incfは第2引数に指定した分だけ、第1引数の変数の値を大きくします。

(incf 変数 数字)

decfは第2引数に指定した分だけ、第1引数の変数の値を減らします。

(decf 変数 数字)

いずれも第2引数のデフォルトは1です。

CL-USER> (setq x 5)
5
CL-USER> (incf x)
6
CL-USER> (decf x)
5
CL-USER> (incf x 2)
7
CL-USER> (decf x 2)
5

参考

コンラッドバルスキ(2013)「Land of Lisp」 川合史郎訳 オライリー・ジャパン