2012-11-22 25 views
4

我刚刚开始学习一点计划,我正在使用Dorai Sitaram的在Fixnum日子里教自己的计划。在所述工作中陈述如下:鸡计划是否支持复数?如果是这样,为什么我得到这个错误?

Scheme numbers can be integers (eg, 42) ... or complex (2+3i).

强调我的。请注意表格。

使用我迄今为止所教导的原则,我尝试编写一些处理不同类型数字的不同程序。我结束了写这个极其简单的片断来测试复数:

(begin 
    (display 3+4i) 
    (newline) 
) 

测试这对codepad.org(使用的MzScheme)和Ideone.com(使用诡计)完美。

现在,当我用鸡计划(我的本地开发环境),试了一下,它编译罚款,但在运行时,崩溃,给我的错误:

Error: unbound variable: 3+4i 

    Call history: 

    main.scm:2: 3+4i  <-- 

Apperently有一个未绑定变量的错误,但与我有限的计划我甚至不知道这是什么意思(还)

有没有其他人经历过这个?我知道Chicken Scheme应该符合标准,所以看起来很奇怪,它不会支持这样简单的事情。我通过自己的Google搜索的文件,但我无法找到任何具体的(虽然我觉得有一个外部复数可用库,所以也许这是一个暗示。)

如果任何人有任何建议,他们会不胜感激。提前致谢! :)

回答

7

我相信你需要安装numbers扩展名来处理鸡计划中的复数。这样做:

> chicken-install numbers 

而且不要忘了加载它:

(use numbers) 
+0

我跑'鸡安装numbers',它安装了罚款,但它并没有解决这个错误。这是你的意思吗? :P – Miguel

+0

你先加载它吗?像这样:'(使用数字)' –

+0

不,我没有,实际上。无论如何,我把它加载到'csi'中,它工作正常!我也将它添加到上面的代码片段中,但是我仍然遇到错误?如果你不介意,你能告诉我应该如何重写那个代码片段,以便它可以在编译环境中工作? – Miguel

相关问题