我正在阅读练习 1.5 中的“计算机程序的结构和解释”第 2 版,我发现了一个组合,我不明白它到底做了什么 (define (p) (p))
.
当我调用过程 (p)
时,光标在下一行闪烁,但无法写入任何内容。
(define (p) (p))
(p)
我不知道这个过程会发生什么,因为我自己定义了它。
最佳答案
p
是一个没有参数的过程。它的主体是(p)
。在 Scheme 中,我们通过将过程及其参数括在方括号中来调用过程。鉴于 p
没有参数,(p)
只需调用 p
。其中调用 p
。哪个调用 p
... 等等。那么它有什么作用呢?无限循环!仅此而已。
关于scheme - (define (p) (p)) 做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56921314/