Skip to content

Instantly share code, notes, and snippets.

@g000001
Created March 2, 2009 15:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save g000001/72812 to your computer and use it in GitHub Desktop.
Save g000001/72812 to your computer and use it in GitHub Desktop.
(defun rands ()
(list (random 100 #.*random-state*)
(random 100 #.*random-state*)
(random 100 #.*random-state*)))
;; ccl: 毎回違う
(list (rands) (rands) (rands))
;; ccl: 毎回同じ結果
;; sbcl: 毎回違う
(defun rands1 ()
(list (random 100 *random-state*)
(random 100 *random-state*)
(random 100 *random-state*)))
(list (rands1) (rands1) (rands1)) ;=> (91 6 55)
(defun rands2 ()
(let ((rs (make-random-state T)))
(list (random 100 rs)
(random 100 rs)
(random 100 rs))))
;; ccl: 毎回違う
;; sbcl 連続で同じで次のパターンへ
(list (rands2) (rands2) (rands2))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment