Clojure:“java.lang.IllegalArgumentException:没有为键提供值:”当我更改要求时

2024-01-09

我得到了一个java.lang.IllegalArgumentException: No value supplied for key:在我的 Clojure 代码中。

我知道当我尝试解构作为参数传递的映射中的键时会发生这种情况。

然而,奇怪的是这个函数多年来一直运行良好,并且数据相同。唯一不同的是我现在导入函数的方式

这是错误:

Caused by: java.lang.IllegalArgumentException: No value supplied for key: 
{:style {:color [255 150 150 255], :stroke-weight 2}, :points [[-1 0] [0 -1] [1 0] [0 1] [-1 0]]}

这是抛出它的函数。

(defn scale
  [val {:keys [style points]}]
  {:style style
   :points (scale-shape val points)})

换句话说,我要求地图包含名为style and points并且它被赋予了一个包含名为的键的映射style and points.

这段代码几个月来一直运行良好。

不同的是我现在用它来调用它sshapes/scale where sshapes被导入:

 (:require [patterning.sshapes :as sshapes])

而以前我只是将其称为scale规模进入命名空间的地方使用

 (:require [patterning.sshapes :refer :all])

这会导致这种错误吗?


好的。我更改了要使用的代码

(:require [patterning.sshapes :refer [scale rotate]])

IE。明确命名所需的函数后,进行了清理,问题就消失了。函数定义本身和调用它们的代码保持不变。

Weird.

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

Clojure:“java.lang.IllegalArgumentException:没有为键提供值:”当我更改要求时 的相关文章

  • Clojure:让作用域和函数返回值

    我在弄清楚如何使用 let 形式时遇到了一些麻烦 在下面的示例中 我想在本地绑定值 cols 以便稍后在函数中处理它 然而 我注意到 如果我使用 let 函数 sel opt tmp 将返回 nil 值而不是列表 defn sel opt
  • 使用 CounterClockwise 和 Eclipse 在 Clojure REPL 中进行评估

    我通常使用 Emacs 但受到启发再次尝试 CCW Eclipse 我有一个 Clojure 测试项目 其源文件 src user clj 包含以下内容 ns user println hi 我有一个 REPL 我从 Window gt S
  • “require(...)”是常见的 JavaScript 模式还是库函数?

    我通常发现这是 node js 脚本 模块以及 phantomJS casperJS 等中的第一行 我很好奇 这是否是服务器端 javascript SSJS 的常见模式 类似于 include在 C C 中或import在 Java 中
  • Clojure 宏expand

    Why does macroexpand arm getHand getFinger 扩展到 arm getHand getFinger while macroexpand gt arm getHand getFinger 扩展到 getF
  • Clojure 集合与序列的相等性

    我注意到 Clojure 1 4 似乎很乐意考虑向量等于seq相同的向量 但同样不适用于地图 1 2 seq 1 2 gt true 1 2 seq 1 2 gt false 为什么要这样的行为 这样会有所不同吗 Clojure 的 可以认
  • 宏内调用函数和宏的区别?

    我的难题是以下示例 defmacro macro1 x println x defn func1 x println x defmacro macro2 x macro1 x func1 x defmacro macro3 x func1
  • 在 clojure 中,使用递归实现宏时如何进行代码模板化

    我正在尝试实现一个宏 以递归地将中缀列表转换为前缀列表 我遇到一个问题如下 this works defmacro recursive infix form list second form first form if not seq nt
  • 从不带破折号的字符串创建 UUID

    如何从不带破折号的字符串创建 java util UUID 5231b533ba17478798a3f2df37de2aD7 gt uuid 5231b533 ba17 4787 98a3 f2df37de2aD7 tl dr java u
  • 你能在 Clojure 中获取加载函数的“代码即数据”吗?

    换一种方式 好吧 代码就是数据 http groups google com group clojure browse thread thread 554cdc59d8a46f01 该线程解决了如何从源文件中读取的问题 但我想知道如何将已加
  • Java 中 .NET 的 Lambda 表达式

    我最近 再次 从 C 迁移到 Java 但我非常怀念 lambda 表达式和 C 的 IEnumerable Foreach 之类的东西 所以我正在寻找Java中的lambda表达式库 有比这更好的图书馆吗LambdaJ http code
  • 需要 gem 是否会加载所有内容,包括我不使用的东西?

    Assume x是一颗宝石 包含两者Hello and Goodbye类 如果我写一个程序require x 但仅使用Hello班级 是个Goodbye类也加载了吗 您包含脚本或文件 而不是 gem With require x 你加载文件
  • Javascript 中 Object.entries 的数组解构

    这是有问题的代码 const posts data id 1 date 2019 02 03 ev filter 1 art foodie ev filter 2 value1 value2 ev filter 3 value1 value
  • 如何解构向量以用作函数参数

    在 Python 中 您可以将列表或元组传递给函数并让函数解压参数 我怎样才能在 Clojure 中做到这一点 下面是一些 Python 代码示例 def f a b c d print a a print b b print c c pr
  • clojure.spec 人类可读的形状?

    使用 clojure spec 有没有办法为嵌套映射定义更 人类可读 的规范 以下内容读起来不太好 s def my domain entity s keys req un a b s def a s keys req un c d s d
  • 在 Clojure 中的函数上使用“apply”时,如何显式指定名称空间?

    这里的 graph 是高阶函数 它返回一个在其范围内设置了配置的函数 ns bulbs neo4jserver graph defn out1 Test func that simply returns out1 config out1 d
  • 在 Clojure 中处理两个序列中的值对

    我正在尝试加入 Clojure 社区 我经常使用 Python 我广泛使用的功能之一是 zip 方法 用于迭代值对 在 Clojure 中是否有一种 聪明且简短的 方法可以实现相同的目标 另一种方法是简单地将 map 与一些按顺序收集其参数
  • Clojure 中的宏和函数

    我在这个 Clojure 教程中读到了以下行 http java ociweb com mark clojure article html Macros http java ociweb com mark clojure article h
  • PHP 需要在不同的文件夹中

    好的 在我的网站上 我有一个脚本文件夹 其中包含一个连接到 mysql 服务器的 php 文件 所以如果我移动数据库 那么它将在连接到数据库的所有文件上更改它 我还有另一个名为 templates 的文件夹 在该文件夹中 顶部有页眉和页脚
  • 调用 Clojure 高阶函数

    如果我定义一个返回如下函数的函数 defn add n n fn x x n 然后我可以将结果分配给一个符号 def add 1 add n 1 并称其为 add 1 41 gt 42 我如何调用结果 add n 1 而不将其分配给新符号
  • 如何禁用 Clojure 断言,包括前提条件?

    在 REPL 中禁用 Clojure 断言 包括前置条件和后置条件 有哪些好方法 对于任意的莱宁根轮廓 Per https github com technomancy leiningen blob b82b228 sample proje

随机推荐

  • 如何选择区间之间的元素

    我有 html 想从第 10 个位置选择间隔 5 个元素 这个怎么做 My html div class chaire img alt src 2 gif div div class chaire img alt src 2 gif div
  • Apache Flink 使用 Windows 在写入 Sink 之前引发延迟

    我想知道 Flink 窗口是否可能导致从数据进入管道到写入 Cassandra 中的表之间有 10 分钟的延迟 我最初的意图是将每个事务写入 Cassandra 中的一个表 并在 Web 层使用范围键查询该表 但由于数据量很大 我正在考虑延
  • Flask url_for Javascript 中的 URL

    使用 Flask 时在 Javascript 文件中创建动态 URL 的推荐方法是什么 在 jinja2 模板和 python 视图中url for使用 推荐的方法是什么 js文件 因为它们不被模板引擎解释 基本上想做的是 in comme
  • Bundler 使用错误的 Ruby 版本

    当我尝试启动 Rails 服务器时 出现以下错误 bundle exec rails s Your Ruby version is 2 3 7 but your Gemfile specified gt 2 3 8 我不明白为什么会发生这种
  • 如何将 Knockout 打字文件更新为 TypeScript 2.0 友好?

    我已经开始致力于现代化knockout库的 TypeScript 声明文件由DefinitelyTyped项目 声明文件使用了一些已弃用的技术 因此 在 TypeScript 2 0 应用程序中使用它很不方便 当前声明文件包含一个名为的接口
  • 使用tinyMCE 获取内容?

    我有一个tinyMCE textarea frmbody并且正在使用它的jquery实例
  • 从 constexpr 数组创建可变参数模板

    假设我们有以下类型 template
  • 如何在 phantomjs 中等待元素可见性

    用户点击此链接 span 现在我正在模拟 phantomjs 中的点击 page evaluate function panel click console log SUCCESS phantom exit Phantom 在慢速函数结束执
  • XP 上的 WMI 访问被拒绝

    我们的应用程序使用大量 WMI 调用 当使用来宾帐户连接到本地 WMI 服务器失败并出现 ACCESS DENIED 时 这对于用户帐户及以上帐户可以正常工作 如何以访客帐户访问WMI服务器 我添加了访客帐户以允许使用 WMIMGMT MS
  • C#:字符串作为事件的参数?

    我有一个用于表单的 GUI 线程和另一个用于计算事物的线程 该表单有一个 RichtextBox 我希望工作线程将字符串传递到表单 以便每个字符串都显示在文本框中 每次在工作线程中生成新字符串时 我都会调用一个事件 现在应该显示该字符串 但
  • 如何在 Vue 工作流程( Vanilla Bootstrap )中覆盖 Bootstrap 变量?

    官方推荐的自定义 主题引导程序的方法是使用 sass 覆盖引导程序变量 但我该如何做到这一点 或者更确切地说 如何将这部分流程添加到 Vue webpack 工作流程中 谷歌搜索导致尝试编辑vue config js文件将 scss 加载器
  • 命名捕获对的正则表达式问题

    我有以下值 start 2011 03 10T13 00 00Z end 2011 03 30T13 00 00Z scheme W3C DTF 我使用以下正则表达式去除 开始 和 结束 日期 并将它们分配给自己的命名捕获对 start P
  • 朴素贝叶斯分类器 - 多重决策

    我需要知道朴素贝叶斯分类器是否 可用于生成多个决策 我不能 找到任何有证据支持的例子 多项决定 我是这个领域的新手 所以 我有点 使困惑 实际上我需要开发字符识别软件 在那里我需要确定给定的字符是什么 看来贝叶斯分类器可以用来识别 给定的字
  • Numpy 中形状的 (4,) 和 (4,1) 有什么区别?

    我有两个 ndarrayA and B 其形状为 4 和另一个 4 1 当我想使用计算余弦距离时this http docs scipy org doc scipy reference generated scipy spatial dis
  • 如何在python脚本中多次导入python文件

    是否可以在 python 脚本中多次导入 python 文件 因为我使用 import 命令在函数中运行循环回到我的驱动程序文件 但它只工作一次 谢谢 edit 自己解决了 谢谢 您很可能不应该使用 import 来执行您想要执行的操作 没
  • 可变借用自动更改为不可变?

    看起来u 一个可变的借用 在以下情况下自动变得不可变 let v u Both u and v然后是不可变的借用引用 因此它们都是允许的 use std ascii AsciiExt fn show a str println a a fn
  • 如何帮助反序列化器了解泛型不需要反序列化绑定

    考虑以下代码 use std marker PhantomData use serde Deserialize derive Deserialize pub struct Parent
  • 唯一约束的命名约定

    命名约定很重要 主键和外键都有常用且明显的约定 PK Table and FK Table ReferencedTable 分别 这IX Table Column索引的命名也相当标准 那么 UNIQUE 约束呢 此约束是否有普遍接受的命名约
  • 在 Ruby 中执行 XSL 转换的最佳方法 (XSLT 2.0)

    在 Ruby 中执行 XSL 转换的最佳且最有效的方法是什么 我尝试过Nokogiri 但无论我尝试什么 它总是会导致 compilation error element stylesheet 该样式表在我的 XML 编辑器中完美运行 我在
  • Clojure:“java.lang.IllegalArgumentException:没有为键提供值:”当我更改要求时

    我得到了一个java lang IllegalArgumentException No value supplied for key 在我的 Clojure 代码中 我知道当我尝试解构作为参数传递的映射中的键时会发生这种情况 然而 奇怪的是