我有以下代码:
(define (play-loop strat0 strat1 strat2 game-limit)
(define (play-loop-iter strat0 strat1 strat2 count history0 history1 history2 limit)
(cond ((= count limit) (print-out-results history0 history1 history2 limit))
(else (let ((result0 (strat0 history0 history1 history2))
(result1 (strat1 history0 history1 history2)
(result2 (strat2 history0 history1 history2)))
(play-loop-iter strat0 strat1 strat2 (+ 1 count)
(extend-history result0 history0)
(extend-history result1 history1)
(extend-history result2 history2)
limit)))))
(play-loop-iter strat0 strat1 strat2 0 '() '() '() game-limit)))当我在球拍中运行它时,它给出了以下错误:
begin (可能隐式):中的内部定义序列后没有表达式:...
我看起来一切正常,但有一个错误,看我很有趣。
有什么问题吗?
谢谢..。
发布于 2013-05-05 04:37:52
它告诉您,您的play-loop函数只包含play-loop-iter函数的定义,其主体中没有其他表达式。
看起来您希望对play-loop-iter的调用成为play-loop主体的一部分,但它不是-它是play-loop-iter主体的一部分。检查括号。
发布于 2013-05-05 04:35:28
你可能在(result1 (strat1 history0 history1 history2)之后遗漏了一个帕伦
https://stackoverflow.com/questions/16378703
复制相似问题