Dr. Racket用户.
这有两个表达式:
((lambda(x)(+ x 1))3)
((lambda(x)(+ x 1)2)3)
第一个是lambda表达式,它接受一个输入并将其增加1.因此它需要3作为其操作数并使(lambda(3)(+ 3 1)等于4.
第二个对我来说非常模棱两可,因为它评估为2,我无法理解其评估的顺序.我知道它必须用括号改变顺序,但我无法理解.显然它甚至没有将"1"和"x"加起来只是出于某种原因产生2作为输出.我错过了对评估的一些基本了解.提前致谢!
lambda scheme brackets racket
brackets ×1
lambda ×1
racket ×1
scheme ×1