首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >方案:如何检查是否用相同的参数调用了一个函数

方案:如何检查是否用相同的参数调用了一个函数
EN

Stack Overflow用户
提问于 2017-01-22 14:22:52
回答 1查看 642关注 0票数 0

我正在尝试实现一个函数(见x),它接受一个参数x,并检查函数以前是否用同一个参数调用过。

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

我不知道如何获得前面调用的函数,因为函数seen只使用一个参数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-22 18:39:59

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(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通过其定义的上下文关闭,所以它可以访问该状态,并在必要时对其进行变异。

我们可以将已经看到的值存储在任何支持成员资格测试的数据结构中--列表、散列,您可以给它命名。但是set更自然,这就是我所用的。行为如预期的那样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(seen 5)
=> #f
(seen 5)
=> #t
(seen 10)
=> #f
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41796787

复制
相关文章
Power Pivot智能日期运用——当前初始日期/当前结束日期
(六) 当前初始日期 1. OPENINGBALANCEMONTH/ OPENINGBALANCEQUARTER/ OPENINGBALANCEYEAR A) 语法 OpeningBalanceMonth (<expression>, <dates> [, <filter>]) OpeningBalanceQuarter (<expression>, <dates> [, <filter>]) OpeningBalanceYear (<expression>, <dates> [, <filter>] [,
逍遥之
2020/03/24
2.7K0
Power Pivot智能日期运用——当前初始日期/当前结束日期
【HTML】HTML 表单 ⑤ ( form 表单域 )
从 input 表单 , textarea 文本域 , select 下拉菜单 中收集了用户信息 , 需要通过
韩曙亮
2023/03/30
4K0
【HTML】HTML 表单 ⑤ ( form 表单域 )
【HTML5】HTML5 新增 input 表单 ( 邮箱输入表单 | 网址输入表单 | 日期输入表单 | 时间输入表单 | 电话输入表单 | 搜索栏输入表单 | 颜色选择器输入表单 )
一、HTML5 新增 input 表单 ---- HTML5 新增 input 表单 : 邮箱输入表单 : 必须输入邮箱 , 如果输入格式错误 , 提交时会在对话框中报错 ; <input type="email" /> URL 输入表单 : 只能输入网址 , 格式错误会在对话框中报错 ; <input type="url" /> 日期输入表单 : 右侧的下拉菜单选择日期 ; 如果在手机中打开 , 会弹出手机中自带的日期选择对话框 ; <input type="date" /> 时间输入表
韩曙亮
2023/04/24
3.4K0
【HTML5】HTML5 新增 input 表单 ( 邮箱输入表单 | 网址输入表单 | 日期输入表单 | 时间输入表单 | 电话输入表单 | 搜索栏输入表单 | 颜色选择器输入表单 )
HTML 表单
HTML 表单 <form method="post" action=" "> <label for=" " >用户名</label> <input type="text" name=" " id=" " value=" "> </input> </form> input 类型 text password 单选框 radio name 属性一致 复选框 checkbox name 属性一致 下拉列表框 <select> <option></option> </select> 下拉列表框 多选 <sele
康怀帅
2018/02/28
3K0
HTML表单
创建一个表单 HTML中表单的创建使用<form>标签(双标签) <form method="post" action="index.html"></form> method="post" 指的是表单提交方式,常用值 get | post get:速度较快,但不安全。传输的文本较少;提交的内容会在提交表单之后显示在浏览器的地址栏;不适合密码之类的传输; post:速度慢,但是安全。与get相反。适合用于注册表单、登录表单之类的传输。 action="index.html"指的是表单提交成功后要跳转的页面。
全栈开发日记
2022/05/12
2.5K0
HTML(表单)
get:速度较快,但不安全。传输的文本较少;提交的内容会在提交表单之后显示在浏览器的地址栏;不适合密码之类的传输;
全栈开发日记
2022/05/12
2.5K0
HTML表单
这个元素正式定义了一个表单,就像<div>和<p>标签,它是一个容器元素,但它也支持一些特定的属性来配置表单的行为方式。它的所有属性都是可选的,但实践中最好至少要设置action属性和method属性。
HammerZe
2022/03/25
4K0
HTML表单
Html 表单
一、表单语法<form method="post" action="result.html"><p> 名字:<input name="name" type="text" > </p><p> 密码:<input name="pass" type="password" > </p><p><input type="submit" name="Button" value="提交"/><input type="reset" name="Reset" value="重填“/> </p></form>二、表单元
久绊A
2023/03/24
3.7K0
html表单
表单标签共有4个:<input>、<textarea>、<select>和<option>。其中<select>和<option>是配合使用的。
Qwe7
2022/05/17
2.5K0
html表单提交_html表单标签有哪些
name属性 设置表单元素的名称,该名称是提交数据时的参数名 value属性 设置表单元素的值,该值是提交数据时参数名所对应的值
全栈程序员站长
2022/11/09
2.8K0
html表单提交
1、只能为input、textarea、select三类类型的标签。只有这些标签用户才可能修改值,<label>、<p>、<font>等标签仅供显示用,没有提交到服务器的必要。当input=submit的时候,只有被点击的按钮的value才会被提交;
tandaxia
2018/09/27
5.4K0
日期控件选择条件控制只能选择当前日期之前或当前日期之后
需求: 在使用日期控件选择日期的时候,只能选择当前日期之前或当前日期之后的日期,如下图
全栈程序员站长
2022/07/12
3.5K0
日期控件选择条件控制只能选择当前日期之前或当前日期之后
如何创建HTML表单?html表单代码怎么写[通俗易懂]
html表单代码是什么?如何创建HTML表单?这些对于新手会感到陌生,下面我们为你总结一下html表单代码怎么写?以及html表单的创建?
全栈程序员站长
2022/09/22
6.6K0
java获取当前日期是周几_根据日期获取当前周
/** * 获取当前日期是星期几<br> * * @param dt * @return 当前日期是星期几 */ public static String getWeekOfDate(Date dt) { String[] weekDays = {“星期日”, “星期一”, “星期二”, “星期三”, “星期四”, “星期五”, “星期六”}; Calendar cal = Calendar.getInstance(); cal.setTime(dt);
全栈程序员站长
2022/10/29
5.4K0
html表单制作
用到的表单元素:文本区域(textarea)、列表框(select)、文本输入框(input type=text)、单选输入框(input type=radio)、复选输入框(input type=checkbox)、重置按钮(input type=”reset” value=”重置”)、提交按钮(input type=”submit” value=”提交”)、密码域(input type=”password” name=”text” value=” “)
全栈程序员站长
2022/07/04
3.4K0
html表单制作
HTML表单(下)
<datalist>标签是用来给list属性提供列表数据的,<datalist>类似于一个数据组,option标签用于给这个数据组填充数据。然后在组件的list属性里指定<datalist>标签的id属性值即可实现下拉框的效果,示例:
端碗吹水
2020/09/23
2.6K0
HTML表单(下)
html form表单
表单用于搜集不同类型的用户输入,表单由不同类型的标签组成,相关标签及属性用法如下:
Devops海洋的渔夫
2019/05/31
2.9K0
HTML表单__表单元素属性
看完“HTML表单__表单元素”那一节的同学会发现,同是input标签,type属性值不一样的时候,input类型完全不一样。type就是input的一个属性,除type之外,还有很多属性,接下来我们开始了解表单元素属性都有哪些?
呆呆
2021/09/28
3.1K0
HTML表单__表单元素属性
看完“HTML表单__表单元素”那一节的同学会发现,同是input标签,type属性值不一样的时候,input类型完全不一样。type就是input的一个属性,除type之外,还有很多属性,接下来我们开始了解表单元素属性都有哪些?
呆呆
2021/11/25
2.9K0
HTML_表单
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>表单测试</title> </head> <body> <!--常见的input标签 文本输入框:type = "text" 密码输入框:type = "passwo
bye
2020/11/24
1.6K0

相似问题

如何通过html表单建立多个模型关联?

20

用当前日期+ 14天填充HTML5输入字段

20

用HTML表单覆盖HTML页面

23

HTML/PHP在html日期输入中显示当前日期

59

用CakePHP显示当前日期

25
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文