スキームにランダムなASCII文字(大文字または小文字)または文字(ただし数字ではない)を生成する必要があり、それを行うための適切な方法が何であるか不思議でした。現在、私は動作するコードランダムなASCII文字を生成する
(define a 1)
(define b 16)
(define (s8 a b)
(when (<= a b)
(if (= (mod a 8) 0)
(write "h")
(write a))
(s8 (+ a 1) b)))
(s8 a b)
(エラーなし)を持っているが、代わりにランダムなASCII文字/文字を印刷する私はそれを行う方法を知らなかったので、私は、「h」を取得します。私は周りを見つけたが、何かを見つけることができなかった。どんな助けもありがとう。ありがとう!
EDIT:
(define random-char
(let* ((chars '("a" "e" "i" "o" "u"))
(len (length chars)))
(lambda()
(list-ref chars (random len)))))
(define a 1)
(define b 16)
(define (s8 a b)
(when (<= a b)
(if (= (mod a 8) 0)
(random-char)
(write a))
(s8 (+ a 1) b)))
(s8 a b)
がエラーに
1234567
Error: execute: unbound symbol: "random" [s8, s8, s8, s8, s8, s8, s8, s8, random-char]
ホイールを改造しないでください! Schemeには、ランダムな値を生成するための組み込みプロシージャがあります。 –