Clojure 中的 = 和 ==

2023-12-20

在 REPL 上,如果我定义

(def fits (map vector (take 10 (iterate inc 0))))

然后打电话

(== [2] (nth fits 2))

我变得虚假了。

But

(= [2] (nth fits 2))

返回真。

这是预期的吗?我尝试了 (class [2]) 和 (class (nth matches 2) ,两者都返回持久向量。


==用于比较数字。如果它的任何一个参数不是数字,它将始终返回 false:

(== :a :a)
; => false

正如你所看到的(clojure.contrib.repl-utils/source ==)在 REPL(与repl-utils require当然,),==称为equiv的方法clojure.lang.Numbers。的相关位clojure/lang/Numbers.java(来自 GitHub 上最新或接近最新的提交):

static public boolean equiv(Object x, Object y){
    return y instanceof Number && x instanceof Number
           && equiv((Number) x, (Number) y);
}

Use =用于对可能不是数字的事物进行相等比较。当你实际上处理数字时,==应该会快一些。

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

Clojure 中的 = 和 == 的相关文章

  • 获取调用表单的名称空间

    我想要一个宏this ns这样它就会返回调用它的位置的名称空间 例如 如果我有这段代码 ns nstest main require nstest core as nstest defn ns str x gt x getName name
  • Scala - Java = ? (或者 Clojure - Java = ?)

    开发人员可以在不懂 Java 的情况下使用 Scala 吗 开发人员可以在不懂 Java 的情况下使用 Clojure 吗 注意 例如 我是一名 C 开发人员 我在不了解任何 VB 的情况下使用 NET 当然 WF 4 0 使用 VB 进行
  • 在抛出异常之前重试某件事 3 次 - 在 clojure 中

    我不知道如何在Clojure中实现这段Python代码 for i in range 3 try except e if i 2 raise e else continue else break 我想知道为什么在 Python 中如此简单的
  • Clojure 宏expand

    Why does macroexpand arm getHand getFinger 扩展到 arm getHand getFinger while macroexpand gt arm getHand getFinger 扩展到 getF
  • 确保 Clojure 中只有一个服务实例正在运行/启动/停止的规范方法?

    我正在用 Neo4j 支持的 Clojure 编写一个有状态服务器 它可以服务套接字请求 例如 HTTP 当然 这意味着我需要能够从该服务器内启动和停止套接字服务器 在设计方面 我希望能够在此服务器中声明一个 服务 并启动和停止它 我在 C
  • 设置、让、宏、坚果

    我正在尝试从 html 内容构建一个快速目录 为了简短起见 代码非常简单 defn toc content doseq i take 5 iterate inc 1 let h str h i println content h where
  • 有没有好的 Clojure 基准测试?

    Edit Clojure 基准测试已达到基准游戏 http benchmarksgame alioth debian org u64q clojure html 我已经制作了这个问题社区维基并邀请其他人保持更新 有人知道 Clojure 性
  • 如何安装 leiningen 插件?

    如何安装 leiningen 插件 例如 leiningen run 我看到这个叫做 clojars org 的东西 以及如何 推 它 但我没有看到任何关于从中 拉 的东西 如果 Clojars 上有可用的插件 例如 lein run 只需
  • 我可以让 lein cloverage 跳过特定测试吗?

    我正在进行一个 Leiningen 项目 其集成测试注释如下 deftest manual test v3 preview preview client http localhost 10313 v3 preview 当我这样做时 这些测试
  • 与doseq(或for)并行遍历集合的有效方法?

    doseq e coll1 myfunc e 如果您只关心副作用 那么速度非常快 如果我想要怎么办myfunc 并行 地从多个集合中获取元素 即 applymyfunc到每个集合的第一个元素 然后到所有第二个元素 然后到所有第三个元素 依此
  • Clojure MySQL 语法错误异常(“[...] 靠近 '???????????????' [...]”)

    除了建立连接之外 我在使用 clojure contrib sql 做任何事情时都遇到困难 我有一个 mysqld 在 localhost 3306 上运行 数据库名为clj db 用户 clj user localhost 和密码 clj
  • Clojure 中的快速素数生成

    我一直在努力解决欧拉计划 https projecteuler netClojure 中的问题得到了改善 我已经遇到过几次素数生成问题 我的问题是它花费的时间太长了 我希望有人能帮助我找到一种有效的方法 以 Clojure 的方式做到这一点
  • 如何解构向量以用作函数参数

    在 Python 中 您可以将列表或元组传递给函数并让函数解压参数 我怎样才能在 Clojure 中做到这一点 下面是一些 Python 代码示例 def f a b c d print a a print b b print c c pr
  • 如何在 Compojure 中使用 lib-noir 有状态会话

    我想我这里有一个相当简单的问题 但我已经看这个屏幕太久了 所以我正在尝试 但失败了 让有状态会话在 Compojure 中工作 refheap代码粘贴is here https www refheap com paste 11161 你可以
  • clojure - 不同命名空间中的评估代码

    我正在编写类似 REPL Server 的代码 用户的请求在这样的函数中评估 defn execute request str try eval read string request catch Exception e getLocali
  • 在 Android 上运行 Java 字节码 - DalvikVM 之上的 Sun JVM

    由于 java 实现 OpenJDK 和Android的虚拟机DalvikVM是开源的 因此必须可以在Google的DalvikVM之上实现Sun的JavaVM 这将使运行基于 JVM 的应用程序和语言成为可能 Clojure Jython
  • 浏览器显示 clojure 环中不存在 access-control-allow-origin 标头

    我通过客户端浏览器向服务器发出请求 如下所示https example com bar https example com bar 但出现错误 Access to XMLHttpRequest at https example com ba
  • 与 google guice 相当的 clojure 是什么?

    我遇到了 google guice 但无法真正理解它以及它的作用 尽管它周围似乎有很多炒作 我希望从 clojure 的角度了解该库 以及为什么在 clojure 应用程序中需要 不需要它 以及该语言中是否内置了类似的内容 由于 Java
  • 排序映射对现有键返回 nil 值

    我尝试从排序映射中按键获取值 并按其返回的值进行比较nil def tmap 1 v 1 2 v 2 3 v 3 def tmap sorted apply sorted map by let val comp compare get in
  • Clojure 宏总是泄漏吗?

    如果你读过这个问题宏 gt 带有匿名函数 https stackoverflow com questions 10740265 macro with anonymous functions 10740411 comment13981517

随机推荐

  • 通过主机名发现 Docker 容器不起作用

    我使用以下 docker compose 文件位于 tmp compose yml对于docker堆栈部署 version 3 6 services service A image service A networks net hostna
  • 当格式与文件内容不匹配时 fscanf 的行为

    如果文件的内容与传递给的格式字符串不匹配fscanf 下次调用时会发生什么fscanf 假设一个文件包含以下两行 9000 pig dog 4 5 2 程序尝试解析打开的文件 fp 像这样 int a 1 b 1 c 1 int x 1 y
  • 获取 Swift 3 中的当前日期? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 如何在 Swift 3 中设置 label text 当前日期 我想将今天打印到屏幕上 我没有找到如何做到这一点 在c 中非常简单 var
  • Strope Attach 和 Ejabberd 的会话恢复问题

    我很难让 strope 的 attach 功能正常工作 我正在开发一个社交网络 用户将在其中浏览页面 同时保持聊天连接 我不想在每个页面上重新连接 重新授权 因此按照此链接 我将 SID 和 RID 存储到卸载时的 cookie 中 在下一
  • 如何从字典列表中删除重复项?

    我有一个 python 字典列表 如下所示 category software name irssi version 1 2 0 category software name irssi version 1 1 2 category sof
  • 由于某种原因未创建 Rails CarrierWave 版本

    我有以下文件上传器 class ItemImageUploader lt CarrierWave Uploader Base include CarrierWave Backgrounder Delay include CarrierWav
  • 如何重定向到页面然后执行 jQuery 函数调用

    如何重定向到页面然后执行带有一些参数的函数 例如 Page1 js if condition is true window location href Index Page2 someFunction 有没有办法捕获重定向并执行第2页中的函
  • 在 C# 表单中保存和恢复应用程序设置

    我有一个基于 C 对话框的应用程序 我想保存用户选择的首选项 设置 以便我可以在下次运行时重新加载它们 我是 C 新手 可能这是非常基本的东西 但我不知道 我是否必须将它们显式写入 ini 等文件中 或者有没有内置的方法可以做到这一点 配置
  • Hibernate hbm2ddl.auto 配置的可能值是什么以及它们的作用是什么

    我真的很想了解有关更新 导出以及可以赋予的值的更多信息hibernate hbm2ddl auto我需要知道何时使用更新 何时不使用 还有什么替代方案呢 这些是数据库上可能发生的变化 新表 旧表中的新列 列已删除 列的数据类型已更改 列的类
  • CSS ul li 图像与文本对齐

    我有一个像这样的CSS ul list style image url images bulletArrow gif ul li background url images hr gif no repeat left bottom padd
  • 如果枚举无法适合整型,会发生什么情况?

    我碰到这个问题 https stackoverflow com questions 1122096 what is the underlying type of a c enum关于枚举的基础类型 其中答案引用标准 C 7 2 5 如下 枚
  • 为什么 java.util.Random 中没有接受绑定的 nextDouble()、nextFloat() 和 nextLong()

    我正在读书java util Random类并注意到没有nextDouble nextFloat and nextLong 它可以接受一个bound 有很多方法可以完成它像这样 https stackoverflow com questio
  • 为什么导出的HBase表比原来大4倍?

    我需要在更新到新版本之前备份 HBase 表 我决定使用标准将表导出到 hdfsExport http hbase apache org 0 94 book ops mgt html export工具 然后将其移动到本地文件系统 由于某种原
  • 如何对齐布局QHBoxLayout和QVBoxLayout?

    我想为我的窗口做这样的布局 所以我尝试创建一个QHBoxLayout布局放置 3 个按钮 并将其添加到QVBoxLayout usr bin python coding utf 8 import sys from PyQt4 import
  • goto 交叉初始化[重复]

    这个问题在这里已经有答案了 假设我有一些 C 代码 if error goto exit size t i 0 error size t i i 0 exit 我明白我们不应该使用goto 但仍然为什么 size t i i 0 编译而si
  • 使用 install4j 对 Linux 可执行文件进行代码签名

    我正在使用 Install4j 和 pfx 文件来为 Windows 安装程序 exe 提供数字签名 但我找不到任何方法为 Linux 安装程序 sh 提供数字签名 有什么方法可以使用 Install4j for linux 可执行文件来做
  • 如何使用javascript重置div中的滚动位置

    我正在开发移动混合应用程序 在我的 html 页面中 我有 3 个选项卡 单击选项卡时 可滚动 div 的内容会发生更改 我的问题是 当我向下滚动 div 视图 的内容并单击另一个选项卡时 内容消失 但内容在那里 请帮助我 以便我可以在单击
  • #!链接中的主题标签和感叹号作为文件夹?

    我怎样才能让我的页面像groveshark页面一样显示 http grooveshark com popular http grooveshark com popular有教程或其他东西知道如何通过 jQuery 或 JavaScript
  • 使 JList 值不可选择 [重复]

    这个问题在这里已经有答案了 我想知道如何修改JList这样单击任何值都不会执行任何操作 我看过其他问题 但没有一个有帮助 我通过使用以下类解决了这个问题 class DisabledItemSelectionModel extends De
  • Clojure 中的 = 和 ==

    在 REPL 上 如果我定义 def fits map vector take 10 iterate inc 0 然后打电话 2 nth fits 2 我变得虚假了 But 2 nth fits 2 返回真 这是预期的吗 我尝试了 clas