我有以下代码:
(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)))
当我在球拍中运行时,它会给我以下错误:
开始(可能是隐含的):在...中的一系列内部定义之后没有表达式:
我似乎一切都很好,但是有一个错误,看起来很有趣。
有什么问题?
谢谢...
答案 0 :(得分:5)
它告诉你,你的play-loop
函数只包含play-loop-iter
函数的定义,而且其正文中没有其他表达式。
看起来你希望调用play-loop-iter
成为play-loop
身体的一部分,但事实并非如此 - 它是play-loop-iter
身体的一部分。检查括号。
答案 1 :(得分:1)
您可能在(result1 (strat1 history0 history1 history2)