Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
像这样简单的东西:
Welcome to DrScheme, version 4.2.3 [3m]. Language: Lazy Scheme; memory limit: 128 megabytes. > (let ((x 2) (y 10)) (+ x y)) #<promise> >
我为 let 表达式按 Enter 键,它给了我#<promise>. 我究竟做错了什么?
#<promise>
它说Language: Lazy Scheme;。我确信这意味着您正在使用一种懒惰运行的方案变体 -即在需要结果之前它不会评估表达式。scheme 在内部管理这个的方式是使用 scheme 的promise机制——而不是返回表达式的结果,而是返回promise稍后计算结果的 a。您应该能够通过调用force此承诺来明确获得结果。
Language: Lazy Scheme;
promise
force
这里有几个参考:
delay
非惰性方案将以您期望的方式运行。
高温高压