(lambda () 16)
这只会返回#<procedure>
我认为无论我们输入什么,它都会返回16。但是我不知道如何证明。
答案 0 :(得分:0)
您可以通过以下方式调用该函数
((lambda () 16) 17) ;; or put instead of 17 whatever
答案 1 :(得分:0)
您可以通过调用返回的过程来检验您的假设。调用函数或过程f
的语法为(f ...)
,其中...
代表参数。在这里,没有参数,因此只是(f)
。您可以从Read-Eval-Print-Loop(REPL)中测试您的程序:
> (define f (lambda () 16))
> (f)
您还可以通过将其包装在括号中直接直接调用匿名函数:
> ((lambda () 16))