评估球拍响应/xexpr 中的变量

2023-12-22

我正在尝试在 Racket 中制作一个简单的书签网络应用程序。

它的目的是接收一个 url 作为 CGI 参数,现在,我只是试图通过反射它来确认我收到了它。

(define (start request)
  (response/xexpr
   (let* ([bindings (request-bindings request)]
          [url (if (exists-binding? 'url bindings)
                  (extract-binding/single 'url bindings)
                  "NO URL")])
     `(html
       (head (title "TITLE"))
       (body (h2 "TITLE")               
           (p "URL = " url))    
           ))))

然而,不是看到我期望看到的..这是一个包含

URL = http://google.com

我正在看

URL = &url;

这表明 url 在 xexpr 中被逐字引用(被视为实体),而不是被视为变量。

那么我做错了什么?如何评估 url?


你需要使用quasiquote and unquote将值注入引用的表达式中,通常被视为其读者缩写等效项,` and ,, 分别。当你使用unquote/,代替quasiquote/`,它将计算表达式并将其插入到周围的引用中:

> (define url "http://google.com")
> `(p "URL = " ,url)
(p "URL = " "http://google.com")

你应该把,在...前面url在您的模板中取消引用它。

有关报价和准报价的更详细说明,请参阅本答案的附录A https://stackoverflow.com/a/34984553/465378.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

评估球拍响应/xexpr 中的变量 的相关文章

  • '(引用引用)在方案中

    我正在尝试自学方案 谁能告诉我为什么 quote quote 将输出 quote and quote quote 将输出 quote 非常感谢 这个表达式 quote quote 扩展后
  • 为什么(begin)在Scheme中有效?

    我在 Racket 和 Chez Scheme 中进行了测试 发现 begin 是可以接受的 同时 define a begin 不是 例如我得到的球拍 gt begin gt define a begin stdin 56 10 begi
  • 有没有办法在 Racket 中查看 lambda 的主体?

    假设我有这段代码 lang racket define a x x y y z w w z 我凭直觉知道这个 lambda 表达式 扩展地 等于 z z 我的问题是是否有办法打印出正文a如果我想看看 Racket 在内部简化了多少功能 更多
  • 如何查找“不是过程”错误

    define comp f g lambda x f g x define complement f cond equal comp f lambda g g t f equal comp f lambda g g f t compleme
  • 在 SICP 中推广素数对

    我花了一些时间来研究 素数对 的生成SICP 第 2 2 3 节 作为常规接口的序列 例如 1 3 不 因为总和 4 1 4 是的 因为 sum 5 素数 这是我从头开始得到的 有效的 lang sicp RANGE helper func
  • Racket 中列表到字符串的转换

    如何在 DrRacket 中将列表转换为字符串 例如 如何将 红黄蓝绿 转换为 红黄蓝绿 我尝试使用 list gt string 但这似乎只适用于字符 这里的技巧是映射列表symbols作为输入接收 依次将每个数字转换为字符串 并在除最后
  • Foldl 和 Foldr 如何工作(以示例为例)?

    好吧 我是计划 球拍 lisp 的新手 我正在练习创建自己的函数 语法和递归 所以我想制作自己的函数 语法和递归foldl and foldr完全执行预定义版本功能的函数 我无法做到这一点 因为我只是不明白这些功能是如何工作的 我在这里看到
  • 使用trace显示racket中的程序

    我一直在完成 SICP 的最后几个练习第 1 章 其中几个练习使用高阶函数 目前 我正在尝试调试 1 45 解决方案中的一个问题 该问题引发了元数不匹配 产生误差的函数是对定点函数求解器两次应用平均运算的结果 这将使我的调试工作更加努力a
  • 球拍/计划过滤

    我如何过滤它以显示所有蔬菜 先感谢您 Pecan 1982 nut AL Blackberry 2004 fruit AL Peach 2006 fruit AL Rice 2007 grain AR Orange 2005 fruit F
  • Tonumber 函数 (tonumber ‘(一二三) --> 123

    解决后如何拼写球拍中的数字 咒语编号 https stackoverflow com questions 22696615 how to spell a number in racket spellnum 22700116 noredire
  • 尾递归Map函数RACKET

    Racket 中的映射函数采用一个函数和一个列表 并将该函数递归地应用于列表中的每个项目 我正在尝试将映射转换为尾递归函数 这该如何完成 你被困在哪里了 您可以定义自己的map程序与内部loop程序 define map f in defi
  • 编写一个带有两个参数的 forAll 过程:系列的开始值和结束值,并将给定过程应用于该系列

    我正在尝试编写一个带有两个参数的 forAll 过程 一系列的开始值和结束值 生成的闭包还需要两个参数 一个应用于系列中所有元素的操作 以及一个初始值 这就是我所拥有的 我似乎遗漏了一些东西或者我不理解闭包背后的概念 define forA
  • eq 之间的区别?和 = 在方案中?

    gt eq 1 1 t gt eq 1 1 1 1 f gt 1 1 1 1 t 这是DrScheme 中的交互窗口 有人可以解释一下 和 eq 之间的区别吗 在计划中 比较数字 等式 测试参数是否表示内存中的同一数据对象 当量 应该在第二
  • schema 中的方法和属性:Scheme 中是否可以实现 OOP?

    我将用一个简单的例子来说明我的问题 在 Java C 或任何其他 OOP 语言中 我可以创建一个pie类的方式类似于 class Apple public String flavor public int pieces private in
  • 在 Racket 源代码中选择学生语言

    我正在尝试为 DrRacket 编写一个源文件 指定其中一种语言如何设计教学语言的程序 see 球拍文档 http docs racket lang org drracket htdp langs html 我知道我可以在 DrRacket
  • 有没有办法检查一个列表的所有元素是否都包含在球拍的另一个列表中?

    我想要一个执行类似操作的函数 gt function 1 2 3 4 1 2 3 4 5 t 在这种情况下返回 t 因为第一个列表的所有元素都包含在第二个列表中 有没有一个函数可以做到这一点而不必担心顺序 在这种情况下 您不会将列表进行比较
  • 遍历 Racket 中的字母表中的字母

    我想编写一个程序 将字母表中的字母作为符号进行迭代 并用它们做一些事情 我希望它大致相当于以下 C 代码 for char letter a letter lt z letter printf The letter is c n lette
  • 有人能用简单的话解释一下 call/cc 吗?

    我正在研究语言球拍并试图掌握 call cc 的实际用途 有人可以用简单的语言解释一下并举一两个例子吗 谢谢 并非所有实现call cc完全相同 但希望这个答案可以适用于所有常见的变体 包括球拍 没有什么麻烦 这个故事其实是根据c内置于Un
  • 大括号 {} 替换 Racket 中的“开始”

    是否可以有一个宏 使用大括号 来表示一个语句块 从而替换 begin 关键字 因此 代替 if condition begin statement1 statement2 statement3 statement4 else stateme
  • 使用map或reduce或filter,在Scheme中,计算列表中有多少个元素[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 number length 1 1 0 1 0 0 这假设返回 6 我知道如何使用长度并找到它 但我不知道如何在没有长度的情况下使用映射或过

随机推荐

  • Android:如何以编程方式取消 SearchView 的焦点

    我的布局中有一个 SearchView 不在操作栏中 我无法使用通常的方法关闭键盘 public static void hideKeyboard Activity activity InputMethodManager imm Input
  • Firebase 3.x - 令牌/会话过期

    有谁知道令牌需要多长时间才会过期 现在没有选项可以在控制台上设置令牌有效性 自 2016 年 5 月起 Firebase 身份验证登录会话不再过期 相反 他们使用长期帐户令牌和短期自动刷新访问 ID 令牌的组合来获得两全其美的效果 如果你想
  • Spring Boot程序找不到主类

    我有一个程序在 eclipse 中作为 Spring boot 应用程序运行 程序运行良好 然后我做了以下事情 右键单击项目 gt 运行方式 gt Maven 测试 这是偶然的 当我尝试再次将程序作为 Spring Boot 应用程序运行时
  • 解压 1 个变量,剩余到列表中

    我想知道这是否可能 def someFunction return list range 5 first rest someFunction print first 0 print rest 1 2 3 4 我知道可以用这三行来完成 res
  • SQLAlchemy 查询包含多个值中任意一个的数组

    我想我可以在互联网上的某个地方找到这个问题的答案 但我似乎错过了 您可以查询表中数组列包含特定值的所有行 MyModel query filter Mymodel arrayField contains someValue 您可以输入多个值
  • 为什么 SQL Server 选择聚集索引扫描而不是非聚集索引扫描?

    在我正在查询的一个表中 聚集索引是在非主键的键上创建的 我不知道为什么 但是 该表的主键有一个非聚集索引 在执行计划中 SQL 选择聚集索引 而不是我在查询中使用的主键的非聚集索引 SQL 这样做有什么原因吗 如何强制 SQL 选择非聚集索
  • C# 属性命名事件

    我正在使用 Json 序列化程序 需要绑定到一个名为 event 的属性名称 当然 event 是 C 中的关键字 因此请执行以下操作string event get set 不允许 有什么办法去做吗 我无法更改返回给我的对象的名称 假设您
  • 如何从张量流中的两个张量创建频率张量

    我有一个像这样的张量 其中值是频率 行是索引 0 to 6 tf docs 0 2 1 2 2 1 5 0 0 1 7 8 9 6 我有一个常数张量 其中张量的值是索引 tf topics tf constant 1 2 1 3 1 0 2
  • 表单提交导致“InvalidDataException:超出表单值计数限制 1024”。

    我创建了一个 mvc 站点 并且发布了大量的 json 表单数据 Content Type application x www form urlencoded 回到mvc控制器 当我执行此操作时 我收到一条 500 响应 其中指出 Inva
  • 使自定义 Airflow 宏扩展其他宏

    有没有办法在 Airflow 中创建一个用户定义的宏 它本身是根据其他宏计算出来的 from airflow import DAG from airflow operators bash operator import BashOperat
  • React Native 播放来自 IP 摄像机的 RTSP 流 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在 iOS 设备中通过 IP 网络通过 RTSP 协议播放视频流 h264 我正在使用 React
  • 谷歌地图API,获取用户城市/最近的城市/一般区域

    我一直在尝试编写一个函数 返回一个人所在或附近最合理 规模适中的城市 城镇 地区 yik yak 等应用程序使用这样的算法将人们分组在一起 有没有现有的算法可以做到这一点 目前我正在使用这个 geocoder geocode latLng
  • 使用具有多个结果集的 exec 进行 INSERT INTO

    SQL Server 允许我将存储过程的返回结果集插入为 DECLARE T TABLE ID int Name varchar 255 Amount money INSERT INTO T exec dbo pVendorBalance
  • 如何过滤数组循环中的数据

    在我的数组中是这样的 var myColumnDefs a hh b hh c jk d ggh e hvh a dd b gg d nn e rr f jj 我想过滤数据并将数据插入到新数组中 如下所示 var newarray a b
  • Twitter Streaming API .NET 库 [已关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 按子字段对嵌套序列化器字段的 DRF 序列化器输出进行排序

    我有两个序列化器 其中一个用一个引用另一个many True关系 class AttributeInParentSerializer ModelSerializer masterdata type CharField max length
  • 这是不可变类和 Builder 模式的有效 Java 实现吗?

    Builder 实现 Cloneable 并重写clone 不可变类保留构建器的私有克隆 而不是复制构建器的每个字段 这使得返回新的构建器并创建不可变实例的稍微修改的副本变得容易 这条路我可以走 MyImmutable i1 new MyI
  • Intent(Settings.ACTION_SETTINGS) 的 onActivityResult 立即调用

    在我的启动屏幕中 我向服务器发出请求 但是当没有互联网连接时 我正在打开 Intent settingsIntent new Intent Settings ACTION SETTINGS startActivityForResult se
  • MySQL 日期格式

    当我在mysql中创建一个表并创建一个日期类型的字段时 它存储的日期如0000 00 00 是否可以将格式更改为 d m Y Go to MySQL 参考 10 5 数据类型存储要求 http dev mysql com doc refma
  • 评估球拍响应/xexpr 中的变量

    我正在尝试在 Racket 中制作一个简单的书签网络应用程序 它的目的是接收一个 url 作为 CGI 参数 现在 我只是试图通过反射它来确认我收到了它 define start request response xexpr let bin