fork download
  1. (defun f (string &optional (step 1) (repeat 1))
  2. (let ((A (coerce string 'list))
  3. (L (length string)))
  4. (setf A (nconc A A)) ;make a circular list
  5. (loop for start from 0 upto (1- (* L repeat)) by step
  6. collect (coerce (subseq A start (+ start L)) 'string))))
  7.  
  8. (format t "~{~A~%~}~%" (f "Hello, world!"))
  9.  
  10. (format t "~{~A~%~}~%" (f "foo bar baz." 4))
  11. (format t "~{~A~%~}~%" (f "foo bar baz." 4 4))
  12.  
  13. (let ((A "プログラミングのお題スレ Part4"))
  14. (format t "~{~A~%~}~%" (f A))
  15. (format t "~{~A~%~}~%" (f A (1- (length A)) (1- (length A)))))
  16.  
Success #stdin #stdout 0.03s 10632KB
stdin
Standard input is empty
stdout
Hello, world!
ello, world!H
llo, world!He
lo, world!Hel
o, world!Hell
, world!Hello
 world!Hello,
world!Hello, 
orld!Hello, w
rld!Hello, wo
ld!Hello, wor
d!Hello, worl
!Hello, world

foo bar baz.
bar baz.foo 
baz.foo bar 

foo bar baz.
bar baz.foo 
baz.foo bar 
foo bar baz.
bar baz.foo 
baz.foo bar 
foo bar baz.
bar baz.foo 
baz.foo bar 
foo bar baz.
bar baz.foo 
baz.foo bar 

プログラミングのお題スレ Part4
ログラミングのお題スレ Part4プ
グラミングのお題スレ Part4プロ
ラミングのお題スレ Part4プログ
ミングのお題スレ Part4プログラ
ングのお題スレ Part4プログラミ
グのお題スレ Part4プログラミン
のお題スレ Part4プログラミング
お題スレ Part4プログラミングの
題スレ Part4プログラミングのお
スレ Part4プログラミングのお題
レ Part4プログラミングのお題ス
 Part4プログラミングのお題スレ
Part4プログラミングのお題スレ 
art4プログラミングのお題スレ P
rt4プログラミングのお題スレ Pa
t4プログラミングのお題スレ Par
4プログラミングのお題スレ Part

プログラミングのお題スレ Part4
4プログラミングのお題スレ Part
t4プログラミングのお題スレ Par
rt4プログラミングのお題スレ Pa
art4プログラミングのお題スレ P
Part4プログラミングのお題スレ 
 Part4プログラミングのお題スレ
レ Part4プログラミングのお題ス
スレ Part4プログラミングのお題
題スレ Part4プログラミングのお
お題スレ Part4プログラミングの
のお題スレ Part4プログラミング
グのお題スレ Part4プログラミン
ングのお題スレ Part4プログラミ
ミングのお題スレ Part4プログラ
ラミングのお題スレ Part4プログ
グラミングのお題スレ Part4プロ
ログラミングのお題スレ Part4プ