方案:如何检查是否已使用相同的参数调用函数

杨艾伦|

我正在尝试实现一个带有参数x的函数(见x),并检查该函数先前是否已使用相同的参数调用。

例如: (begin (seen 5) (seen 10)) => #f

我不知道如何获取先前调用的函数,因为该函数seen仅接受一个参数。

奥斯卡·洛佩兹(Oscar Lopez)

我们必须编写一个“记住”先前调用的过程。不使用可变状态就无法做到这一点,但至少我们可以将其封装在过程中(以避免全局状态):

(define seen
  (let ((already-seen (mutable-set)))
    (lambda (n)
      (cond ((set-member? already-seen n)
             #t)
            (else
             (set-add! already-seen n)
             #f)))))

诀窍是实际定义之前,先定义一个数据结构以保存已经看到的值lambda因为lambda关闭了它的定义上下文,所以它可以访问该状态,并在必要时对其进行更改。

我们可以将已经看到的值存储在任何支持成员资格测试的数据结构中-列表,哈希(命名)。但是aset更自然,这就是我所使用的。该行为是预期的:

(seen 5)
=> #f
(seen 5)
=> #t
(seen 10)
=> #f

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何断言是否已使用nunit调用了方法

来自分类Dev

如何检查是否使用调用/应用程序调用了函数

来自分类Dev

如何检查DOM中是否存在ID(已使用长度概念)?

来自分类Dev

如何使用vba检查日期是否相同?

来自分类Dev

如何检查AngularJS是否已使用用户名?

来自分类Dev

如何检查是否已使用NSubstitute调用了匿名函数?

来自分类Dev

如何在编译时检查是否存在可以使用一组特定参数调用的函数?

来自分类Dev

如何检查图片网址是否已使用jQuery加载?

来自分类Dev

如何检查Android中是否已使用权限?

来自分类Dev

检查是否已使用不同的参数多次调用函数

来自分类Dev

如何检查是否已使用Swift反射设置了属性?

来自分类Dev

如何检查复选框是否已使用JavaScript?

来自分类Dev

Android N-如何检查APK是否已使用架构v2签名

来自分类Dev

如何检查是否对vbscript调用了参数?

来自分类Dev

检查在单元测试中是否已使用特定参数调用函数

来自分类Dev

如何检查之前是否调用过函数?

来自分类Dev

如何检查是否使用检查设置了python函数参数的默认值?

来自分类Dev

是否可以检查类型是否已使用特定的模板参数实例化?

来自分类Dev

如何检查我的返回值是否已使用或已分配给某个变量?

来自分类Dev

如何检查函数调用是否具有参数

来自分类Dev

如何断言是否已使用nunit调用了方法

来自分类Dev

检查是否在解决方案中调用了函数

来自分类Dev

已使用但未传递的函数参数

来自分类Dev

检查电话号码是否已使用

来自分类Dev

函数参数中的省略号是否使用与普通参数相同的调用布局

来自分类Dev

如何检查是否对vbscript调用了参数?

来自分类Dev

如何检查函数是否需要参数?

来自分类Dev

检查来自 CMD 的参数是否已使用 Python 编写

来自分类Dev

检查是否已使用酶调用了 redux 操作

Related 相关文章

  1. 1

    如何断言是否已使用nunit调用了方法

  2. 2

    如何检查是否使用调用/应用程序调用了函数

  3. 3

    如何检查DOM中是否存在ID(已使用长度概念)?

  4. 4

    如何使用vba检查日期是否相同?

  5. 5

    如何检查AngularJS是否已使用用户名?

  6. 6

    如何检查是否已使用NSubstitute调用了匿名函数?

  7. 7

    如何在编译时检查是否存在可以使用一组特定参数调用的函数?

  8. 8

    如何检查图片网址是否已使用jQuery加载?

  9. 9

    如何检查Android中是否已使用权限?

  10. 10

    检查是否已使用不同的参数多次调用函数

  11. 11

    如何检查是否已使用Swift反射设置了属性?

  12. 12

    如何检查复选框是否已使用JavaScript?

  13. 13

    Android N-如何检查APK是否已使用架构v2签名

  14. 14

    如何检查是否对vbscript调用了参数?

  15. 15

    检查在单元测试中是否已使用特定参数调用函数

  16. 16

    如何检查之前是否调用过函数?

  17. 17

    如何检查是否使用检查设置了python函数参数的默认值?

  18. 18

    是否可以检查类型是否已使用特定的模板参数实例化?

  19. 19

    如何检查我的返回值是否已使用或已分配给某个变量?

  20. 20

    如何检查函数调用是否具有参数

  21. 21

    如何断言是否已使用nunit调用了方法

  22. 22

    检查是否在解决方案中调用了函数

  23. 23

    已使用但未传递的函数参数

  24. 24

    检查电话号码是否已使用

  25. 25

    函数参数中的省略号是否使用与普通参数相同的调用布局

  26. 26

    如何检查是否对vbscript调用了参数?

  27. 27

    如何检查函数是否需要参数?

  28. 28

    检查来自 CMD 的参数是否已使用 Python 编写

  29. 29

    检查是否已使用酶调用了 redux 操作

热门标签

归档