球拍/初学者学生的语言代码错误

问题描述

我正在尝试使用Racket上的初学者语言逐个字母地对单词进行动画处理。但是,这段代码给我一个错误函数调用:在圆括号后应有一个函数,但找到了一部分”。。我加粗了给我带来麻烦的那部分。有什么建议吗?

(定义单词“ blahlahblahblahblahbla”)

(定义(letterByLetter a)

(覆盖((子字符串theWord 0 a) 50“红色”(空场景500500)))

(动画letterByLetter)

解决方法

这是因为overlay将两个或多个图像用作参数。看来您希望第一个参数是对text的调用,因此表单应为

(text substring theWord 0 a)

但是,请注意,animate将在无限循环中每秒调用letterByLetter 28次,因此将用尽所有字母并引发异常!也许您可以比较a(string-length theWord) ...