指定値までの指定ステップ毎に繰り返し - lisp-cookbook-ja/common-lisp GitHub Wiki

制御構造

指定値までの指定ステップ毎に繰り返し

指定値まで繰り返します。

(loop :for i :from 5 :to 10 :by 2
      :do (print i))
;=> 5,7,9
; この例では、5から2ステップ毎に10を超えないように繰り返します。

リスト上での指定ステップ毎の繰り返し

by キーワードでリストの次のステップの取り出し方を指定できます。

(loop for i in '(1 2 3 4 5) by #'cddr
      while (<= i 4)
      do (print i))
;=> 1,3
; 要素を先頭からひとつ飛び毎に4以下のあいだ繰り返します。