重复代码次数

01e*_*gi4 2 scheme racket

我正在学习球拍,我需要一些帮助.如何仅运行此功能4次而不是无限运行?

(define loop
  (? ()
    (define delay (random 5))
    (digital-write led1 HIGH)
    (sleep delay)
    (displayln delay)
    (digital-write led1 LOW)
    (sleep delay)
    (loop)))
Run Code Online (Sandbox Code Playgroud)

soe*_*ard 5

一个简单的方法是使用for.

(define (do-it-once)
  (define delay (random 5))
  (digital-write led1 HIGH)
  (sleep delay)
  (displayln delay)
  (digital-write led1 LOW)
  (sleep delay))

(for ([n 4]) 
  (do-it-once))
Run Code Online (Sandbox Code Playgroud)