为什么我必须从另一个函数中调用一个函数?

大师级

为什么不起作用?

( ((lambda () (lambda (x) (funcall #'1+ x)))) 2)
 ; yields Compile-time error: illegal function call

我遇到了这样的情况,后来发现有funcall解决方法,即

(funcall ((lambda () (lambda (x) (funcall #'1+ x)))) 2) ; => 3

我很困惑,因为似乎第一个应该可以工作,因为我实际上有一个正在调用的函数,而不仅仅是可能属于这两个名称空间(即(type-of ((lambda () #'1+))) ; => FUNCTION的符号我认为这将是那种喜欢你怎么不需要funcall例如拉姆达如((lambda (x) x) :HI) ; => :HI我想念什么?

伦佐

Common Lisp的语法要求,每次您想通过类型的compund形式调用函数时:

(f a1 a2 ... an)

列表的第一个元素f必须是表示函数名称的符号,或者是表示lambda表达式的列表,即(请参见手册):

lambda表达式 Ñ一个列表可以在一个地方而使用功能名在某些情况下表示一个功能通过直接描述其行为,而不是间接地通过参考一个的名称建立功能; 它的名称源于以下事实:它的第一个元素是符号lambda。

因此,这基本上意味着您不能将返回函数作为值的任何表达式作为第一个元素。在这种情况下,您必须使用funcall

因此,在您的第二个示例中,的第一个参数funcall((lambda () (lambda (x) (funcall #'1+ x)))),这是正确的公然形式,其中列表的第一个元素是lambda表达式(lambda () (lambda (x) (funcall #'1+ x)))(应用于空参数列表)。

相反,在第一个示例中,您将返回函数的表达式作为列表的第一个元素,因此必须使用funcall

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我不能从 python 中的另一个函数调用一个函数。函数未定义错误

来自分类Dev

为什么不从另一个函数中调用一个函数而不是使用回调呢?

来自分类Dev

为什么不从另一个函数中调用一个函数而不是使用回调呢?

来自分类Dev

为什么使用模拟类中另一个函数调用的函数的测试失败?

来自分类Dev

在React中,为什么我必须绑定一个onClick函数而不是调用它?

来自分类Dev

我无法从codeigniter中的另一个控制器调用静态函数。为什么?

来自分类Dev

我无法从codeigniter中的另一个控制器调用静态函数。为什么?

来自分类Dev

在另一个函数中调用JS函数

来自分类Dev

在另一个函数中调用匿名函数

来自分类Dev

在另一个函数中调用被“隐藏”的函数

来自分类Dev

从另一个函数中调用类函数

来自分类Dev

JavaScript-为什么我们必须从自调用函数返回一个函数?

来自分类Dev

为什么在调用另一个函数时不能将一个函数定义为参数?

来自分类Dev

Python从另一个函数调用一个函数中的函数

来自分类Dev

Python 函数从另一个函数调用变量。但为什么?

来自分类Dev

我无法从一个函数调用对象到另一个函数

来自分类Dev

为什么在C ++中的另一个类的成员函数中未调用构造函数?

来自分类Dev

使用我在 Swift 中的另一个函数中调用的函数中的常量

来自分类Dev

Python 2.7.11:为什么一个函数调用只对一个函数起作用,而对另一个函数却不起作用?

来自分类Dev

在R中的另一个函数中定义和调用一个函数有什么好处?

来自分类Dev

在PL / PGSQL中的另一个函数中调用一个函数

来自分类Dev

如何在JavaScript中的另一个函数中调用一个函数

来自分类Dev

比在另一个函数的参数中调用一个函数更昂贵?

来自分类Dev

在Python中从一个函数调用变量到另一个函数

来自分类Dev

使用AngularJS工厂在另一个函数中调用一个函数

来自分类Dev

如何在VBA中的另一个函数内调用一个函数?

来自分类Dev

如何用Go语言在另一个函数中调用一个函数?

来自分类Dev

Python从类中的另一个函数调用一个函数

来自分类Dev

从另一个函数中的一个函数调用变量

Related 相关文章

  1. 1

    为什么我不能从 python 中的另一个函数调用一个函数。函数未定义错误

  2. 2

    为什么不从另一个函数中调用一个函数而不是使用回调呢?

  3. 3

    为什么不从另一个函数中调用一个函数而不是使用回调呢?

  4. 4

    为什么使用模拟类中另一个函数调用的函数的测试失败?

  5. 5

    在React中,为什么我必须绑定一个onClick函数而不是调用它?

  6. 6

    我无法从codeigniter中的另一个控制器调用静态函数。为什么?

  7. 7

    我无法从codeigniter中的另一个控制器调用静态函数。为什么?

  8. 8

    在另一个函数中调用JS函数

  9. 9

    在另一个函数中调用匿名函数

  10. 10

    在另一个函数中调用被“隐藏”的函数

  11. 11

    从另一个函数中调用类函数

  12. 12

    JavaScript-为什么我们必须从自调用函数返回一个函数?

  13. 13

    为什么在调用另一个函数时不能将一个函数定义为参数?

  14. 14

    Python从另一个函数调用一个函数中的函数

  15. 15

    Python 函数从另一个函数调用变量。但为什么?

  16. 16

    我无法从一个函数调用对象到另一个函数

  17. 17

    为什么在C ++中的另一个类的成员函数中未调用构造函数?

  18. 18

    使用我在 Swift 中的另一个函数中调用的函数中的常量

  19. 19

    Python 2.7.11:为什么一个函数调用只对一个函数起作用,而对另一个函数却不起作用?

  20. 20

    在R中的另一个函数中定义和调用一个函数有什么好处?

  21. 21

    在PL / PGSQL中的另一个函数中调用一个函数

  22. 22

    如何在JavaScript中的另一个函数中调用一个函数

  23. 23

    比在另一个函数的参数中调用一个函数更昂贵?

  24. 24

    在Python中从一个函数调用变量到另一个函数

  25. 25

    使用AngularJS工厂在另一个函数中调用一个函数

  26. 26

    如何在VBA中的另一个函数内调用一个函数?

  27. 27

    如何用Go语言在另一个函数中调用一个函数?

  28. 28

    Python从类中的另一个函数调用一个函数

  29. 29

    从另一个函数中的一个函数调用变量

热门标签

归档