1

スキームで for ループを定義する方法に何が問題なのか疑問に思っています。for ステートメントを実行しようとすると、かなり長い間実行されてからクラッシュします。

(define-syntax for 
  (syntax-rules (:)
    [(_ (initial : test : update) body) 
     (begin initial 
            (if test 
                (begin body update 
                       (for [test : update] body))))]
    [(_ (test : update) body) 
     (if test 
         (begin body update 
                (for [test : update] body)))]))

初期条件を実行し、テストをチェックし、本体を実行してから、次の実行にループする必要があります。

4

1 に答える 1