首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >edwin方案中的未绑定变量

edwin方案中的未绑定变量
EN

Stack Overflow用户
提问于 2017-04-07 11:02:32
回答 1查看 106关注 0票数 0

我是第一次学习Scheme,为了练习,我试图编写一个程序,返回一个指定长度的列表,所有值都等于1。我在Windows 10上使用MIT/GNU Edwin编辑器。以下是我输入的代码:

代码语言:javascript
复制
(define (listlength n)
  (if (= n 1)
      (list 1)
      (append (list 1) (listlength (- n 1)))))

(listlength 5)

我希望C-x C-e返回(1 1 1 1 1),但是我得到了一个未绑定的变量错误:

代码语言:javascript
复制
;Unbound variable: listlength
;To continue, call RESTART with an option number:
;  (RESTART 3) => Specify a value to use instead of listlength.
;  (RESTART 2) => Define listlength to a given value.
;  (RESTART 1) => Return to read-eval-print level 1.
;Start debugger? (y or n):

我能想到的唯一原因是它不像我在listlength的定义中调用listlength,但这应该是Scheme的一部分,所以?我不知所措??谢谢你能给我的任何帮助!

EN

回答 1

Stack Overflow用户

发布于 2017-04-28 23:06:40

您应该检查是否在函数末尾使用了C-x、C-e。C-x C-e将计算光标左侧的表达式。或者,您可以使用M-z,它将计算整个表达式,而不管光标在哪里。我也是Scheme的初学者,希望这个答案能对你有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43268937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档