ランダムステートの生成と利用 randomで乱数を得ることができますが、デフォルトの*random-state*とは別個にランダムステートを指定して利用することが可能です。 ランダムステートの生成には、make-random-stateを利用し、全く新規に作成、コピー等の使い分けが可能です。 同じランダムステートからは同じ結果が生じます。 ;;; 新規にrandom-stateを生成 (defvar *my-random-state* (make-random-state t)) (defun foo () (with-output-to-string (out) (dotimes (i 20) (write (random 36 (make-random-state *my-random-state*)) :stream out :base 36) ))) ;;; ループ内で都度オリジナ