Scheme “为什么?”;让我们;不是评估,而是给我#<;承诺>;

Scheme “为什么?”;让我们;不是评估,而是给我#<;承诺>;,scheme,racket,Scheme,Racket,简单地说: Welcome to DrScheme, version 4.2.3 [3m]. Language: Lazy Scheme; memory limit: 128 megabytes. > (let ((x 2) (y 10)) (+ x y)) #<promise> > 欢迎使用DrScheme,版本4.2.3[3m]。 语言:惰性方案;内存限制:128兆字节。 >(让((x2)(y10)) (+xy)) # > 我按enter键输入le

简单地说:

Welcome to DrScheme, version 4.2.3 [3m].
Language: Lazy Scheme; memory limit: 128 megabytes.

> (let ((x 2) (y 10))
   (+ x y))

#<promise>

> 
欢迎使用DrScheme,版本4.2.3[3m]。
语言:惰性方案;内存限制:128兆字节。
>(让((x2)(y10))
(+xy))
#
> 

我按enter键输入let表达式,它会给出
#
。我做错了什么?

上面写着
语言:懒惰的计划。我确信这意味着您使用的是一种惰性运行的scheme变体,即在需要结果之前它不会计算表达式。scheme将使用scheme的
promise
机制对其进行内部管理-不返回表达式的结果,而是返回用于稍后计算结果的
promise
。您应该能够通过调用
force
来明确地获得结果

以下是一些参考资料:

一个非惰性方案将以您期望的方式运行


HTH

它说
语言:惰性方案。我确信这意味着您使用的是一种惰性运行的scheme变体,即在需要结果之前它不会计算表达式。scheme将使用scheme的
promise
机制对其进行内部管理-不返回表达式的结果,而是返回用于稍后计算结果的
promise
。您应该能够通过调用
force
来明确地获得结果

以下是一些参考资料:

一个非惰性方案将以您期望的方式运行


HTH

Hmm,几天前我在SO上做了一个快速搜索,大多数人建议将DrHaskell作为IDE。在语言选择上,这是唯一一个名称中包含Scheme的,所以我选择了那个。我想这是最重要的一个“模块”。谢谢,几天前我对它做了一个快速搜索,大多数人建议将DrHaskell作为IDE。在语言选择上,这是唯一一个名称中包含Scheme的,所以我选择了那个。我想这是最重要的一个模块。谢谢