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」 川合史郎訳 オライリー・ジャパン