Gaucheでランダムなシンボルを生成する
期末試験の時期になったので、回答のテストのために、ランダムなシンボルが欲くなった。これまでは、私が適当に考えたテストケースを使っていたんだけど、やっぱり期末試験くらいランダムテストをやってみようかと。
しかし、random-symbolのような関数はないみたいなので、てきとーにプログラミング。
(use srfi-1) (use srfi-27) (define (random-alphabet) (integer->char (+ (random-integer 26) (if (= 0 (random-integer 2) 65 97)))) (define (random-symbol n) (let ((chars (list-tabulate n (lambda (x) (random-alphabet))))) (string->symbol (apply string chars))))
(randam-symbol n)とすることで、長さnのアルファベットからなるランダムなシンボルが生成される。