在 slime REPL 中使用 clojure.contrib 函数

2023-11-23

我想在 REPL 的 slime 中使用 clojure.contrib.trace 命名空间中的函数。我怎样才能让史莱姆自动加载它们?一个相关的问题,如何将特定的命名空间添加到正在运行的 repl 中?

在 clojure.contrib API 上,它描述了这样的用法:

(ns my-namespace
  (:require clojure.contrib.trace))

但是将其添加到我的代码中会导致文件无法加载跟踪命名空间中的任何函数,并出现“无法解析符号”错误。

我使用 leiningen 'lein swank' 启动 ServerSocket,project.clj 文件如下所示

 (defproject test-project "0.1.0"
   :description "Connect 4 Agent written in Clojure"
   :dependencies [[org.clojure/clojure "1.2.0-master-SNAPSHOT"]
                  [org.clojure/clojure-contrib "1.2.0-SNAPSHOT"]]
   :dev-dependencies [[leiningen/lein-swank "1.2.0-SNAPSHOT"]
                      [swank-clojure "1.2.0"]])

一切似乎都是最新的,即“lein deps”不会产生任何变化。那么这是什么一回事?


  1. 您收到“无法解析符号”异常,因为:require不会从给定的命名空间中提取任何变量,它只会使命名空间本身可用。

    因此如果你(:require foo.bar)在你的ns表格,你必须写foo.bar/quux访问变量quux从命名空间foo.bar。您还可以使用(:require [foo.bar :as fb])能够将其缩短为fb/quux。最后的可能性是写(:use foo.bar)反而;这使得所有 Var 都来自foo.bar在您的命名空间中可用。请注意,通常认为以下方式是不好的风格::use外部库;不过,在单个项目中可能没问题。

  2. 回复:自动在 REPL 上提供可用的内容:

    The :require, :use and :refer的条款ns表格中有对应的require, use and refer功能于clojure.core。还有对应的宏:refer-clojure and :import.

    这意味着为了使clojure.contrib.trace在 REPL 上可用,你可以做类似的事情(require 'clojure.contrib.trace) or (require '[clojure.contrib.trace :as trace])。请注意,因为require是一个函数,您需要引用库规范。 (use and refer还采用引用的 lib 规格;import and refer-clojure不需要引用。)

    每次启动 Clojure REPL(包括使用 SLIME 时)时让某些名称空间可用的最简单方法是放置适当的名称空间require来电~/.clojure/user.clj。请参阅需要所有可能的命名空间John Lawrence Aspden 撰写的博客文章,描述了您可以输入的内容user.clj拉进来all的贡献(我个人不这样做,尽管我确实有(use 'clojure.contrib.repl-utils)在那里)。

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

在 slime REPL 中使用 clojure.contrib 函数 的相关文章

  • 在 Lisp 解释过程中,“读者”的任务是什么?

    我想知道 读者 在解释 编译 Lisp 程序期间的目的 或者更准确地说 是 读者 的任务 从我刚刚完成的问题前研究来看 在我看来 读者 特别是本例中的 Clojure 可以被视为 语法预处理器 它的主要职责是读取器宏和原始形式的扩展 所以
  • Clojure deftype 在同一命名空间中调用函数会抛出“java.lang.IllegalStateException:尝试调用未绑定的 fn:”

    我将 Clojure 放入一个大量使用 Jersey 和注释的现有 Java 项目中 我希望能够利用之前工作中现有的自定义注释 过滤器等 到目前为止 我已经粗略地使用了 deftype 方法和 javax ws rs 注释 参见第 9 章C
  • Clojure Repl 无法解析所有函数的符号

    我用 Leiningen 创建了项目 并在中添加了以下代码Core clj file ns hyperstring core use clojure pprint only pprint require clojure java io as
  • 如何从 Matlab 运行 Clojure

    如何从 matlab 运行 clojure 脚本 我尝试了以下操作 使用jdk 1 7运行matlab 然后调用java MATLAB JAVA usr lib jvm java 7 oracle jre matlab 在matlab中 设
  • Clojure 中的相互递归定义

    如何在 Clojure 中进行相互递归定义 下面是 Scala 中使用递归定义查找素数的代码 val odds Stream Int cons 3 odds map 2 val primes Stream Int cons 2 odds f
  • 重新创建一棵扁平的树

    我有一个地图向量 我想以嵌套方式对其进行转换 数据结构如下 def data id 1 name a parent 0 id 2 name b parent 0 id 3 name c parent 0 id 4 name a 1 pare
  • 如何在 Clojure 中处理大型二进制数据?

    如何在 Clojure 中处理大型二进制数据文件 我们假设数据 文件大约为 50MB 小到足以在内存中处理 但不是简单的实现 以下代码正确地从小文件中删除 M 但它会抛出OutOfMemoryError对于较大的文件 如 6MB defn
  • 从文件读取时在 clojure 中分割行

    我正在学校学习 clojure 马上就要考试了 我只是在做一些事情以确保我掌握了窍门 我试图从文件中逐行读取 正如我所做的那样 只要有 我就想分割该行 到目前为止 这是我的代码 defn readFile map fn line cloju
  • 无法使用 Leiningen 构建 jar

    我正在尝试使用 Intellij 的 Cursive 中的 Leiningen 插件从我的基本 Clojure 项目中制作一个独立的 jar 为了创建项目 我刚刚创建了 project clj 文件 将其打开 Cursive 提出将其导入为
  • 如何创建惰性序列向量

    运行它按预期工作 defn long seq n lazy seq cons list n somekey n 2 long seq n 1 take 3 long seq 3 gt 3 somekey 6 4 somekey 8 5 so
  • java与maven和eclipse中的clojure混合

    我创建了一个示例多语言程序 我有一个用java实现的传感器和一个机器人 以及用clojure实现的AI 我无法正确连接maven src main java clojuretest DistanceSensor java AI clj us
  • 从命令行将 clojure 源代码编译为类(AOT)(不使用 lein)

    我正在尝试将 clojure 源代码编译成类文件 并仅使用命令行运行它 没有 lein 也没有 可能 回复 我有 core cljsrc hello目录 src hello core clj 这是源代码 ns hello core defn
  • 宏、Clojure 与 Common Lisp

    我和我的一些朋友正在开发一个新平台 我们想用 lisp 构建它 主要吸引力是宏 我们都使用 Common Lisp 但我想探索 Clojure 的选择 当我提出这一点时 其中一位说宏观体系 较弱 我想知道这是否属实 以及在哪些领域 就您可以
  • 用于正则表达式匹配及其在字符串中的位置的紧凑 Clojure 代码

    斯图尔特 哈洛威举了个例子 re seq w The quick brown fox 作为在 Clojure 中查找正则表达式匹配项的自然方法 在他的书中 这种构造与匹配器上的迭代进行了对比 如果人们关心的只是一份比赛列表 那就太好了 但是
  • 如何应用Clojure? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在学习 Clojure 我真的很喜欢它的一些功能 是时候考虑一 些真正的 宠物项目 了 我意识到我不知道如何真正做到这一点use克
  • Clojure:生成所有键盘可输入字符

    Context 我想生成可以通过以下方式生成的所有字符 打开记事本 按键盘上的单个键 按住 Shift 按键盘上的单个键 我目前拥有的 concat range int a int z range int A int Z range int
  • Emacs/Swank/Paredit for Clojure 的温和教程

    我要转向 Emacs 来工作Clojure http en wikipedia org wiki Clojure Lisp 为了能够执行以下操作 我需要在 Emacs 上设置哪些信息 自动匹配 生成相应的右括号 自动缩进 Lisp Cloj
  • Scala - Java = ? (或者 Clojure - Java = ?)

    开发人员可以在不懂 Java 的情况下使用 Scala 吗 开发人员可以在不懂 Java 的情况下使用 Clojure 吗 注意 例如 我是一名 C 开发人员 我在不了解任何 VB 的情况下使用 NET 当然 WF 4 0 使用 VB 进行
  • 为什么 Clojure MySQL 查询结果中出现“M”

    我有一个返回一行的 Clojure 查询 下面是返回行 映射 的部分打印输出 employer percent 0 00M premium 621 44M 这两列在mysql表中分别是decimal 5 2 和decimal 7 2 为什么
  • 在抛出异常之前重试某件事 3 次 - 在 clojure 中

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

随机推荐

  • 海湾合作委员会优化?漏洞?及其对项目的实际意义

    我的问题分为三个部分 问题1考虑下面的代码 include
  • 从路径字符串中获取类似树的结构

    我已经被困了两天了 因为我对指针和递归不太坚定 我有一系列类似路径的结构 可以说 s string a b c a b g a d 具有这样的数据结构 type Node struct Name string json name Child
  • 如何在RecyclerView中选择和取消选择项目?如何仅在回收者视图中突出显示所选项目?

    Override public void onBindViewHolder final mainscreenspecializationadap MyViewHolder holder final int positionz this po
  • 如何访问ThreadPoolExecutor内部正在运行的线程?

    我有一个正在运行的线程队列 并且希望在执行时公开其一些数据 以监视进程 ThreadPoolExecutor提供对其队列的访问 我可以迭代这些对象来调用我的重写toString 方法 但这些只是等待执行的线程 有没有办法访问当前正在运行的线
  • CSS Translate:translate() 属性最终的用途是什么?

    在 CSS3 中 动画是在各种供应商前缀下引入的 并带有过渡属性 现在 至少在纯 CSS 中 有两种方法可以使元素改变位置 将元素的位置设置为绝对位置并进行调整left right top and bottom Using vendor t
  • 当主线程繁忙时如何让Qt工作?

    我的程序的主线程 函数 main 在那里 是为非 GUI 任务保留的 它调用了许多冗长的计算函数 所有实现的 GUI 都在单独的线程中完成其工作 我现在将使用 Qt 实现另一个 GUI Qt 文档说所有与 GUI 相关的任务都应该在主线程中
  • 如何在本地下载pip依赖项? [复制]

    这个问题在这里已经有答案了 我正在运行我的 python 应用程序requirements txt包含各种依赖项的文件 我正在 Pivotal Cloud Foundry 环境中部署此应用程序 然而 我在其中部署的环境是气隙的 因此我似乎无
  • Django URLS,使用 ?在网址中

    我正在尝试进行一些 Django URL 匹配 我想要一些我有的网址http mysite com base sort type1 http mysite com base sort type2 etc 我不知道如何 URL 匹配这些表达式
  • 配置来自 Nifi 的 HTTP POST 请求

    我正在尝试从 REST 客户端访问 WCF 服务 我正在从 REST 客户端向 WCF 服务发送 POST 请求 详细如下 供大家参考 The 服务合同定义如下 ServiceContract public interface IBZTso
  • UWP 中的自定义内容对话框包含 3 个以上按钮

    我想显示一个内容对话框 其中包含比传统的主要和次要结果更多的内容 由于我无法重写 ContentDialogResult 枚举并向该属性添加选项 因此我似乎唯一的选择可能是创建自己的自定义控件 其工作方式与 ContentDialog 类似
  • AppDelegate for Cocoa 应用程序在 Xcode 6 中使用 Storyboards

    我有一个现有的 OS X 应用程序 在转换为 Storyboards 作为主界面后 我的应用程序委托不再被使用 之前 MainMenu xib 有一个 App Delegate 对象 我可以将其类设置为我的应用程序委托 然而 故事板不包含这
  • Chrome Service Worker iOS 支持

    随着 Apple 几个月前宣布 Service Worker 支持 iOS 11 3 我最近开始尝试让 Service Worker 在 iOS 上工作 在 Safari 上 它按预期工作 访问网站后 它可以离线工作 然而 当我尝试在 Ch
  • “6k 浏览次数”是什么意思以及如何在 PHP 中格式化该数字

    6k 浏览次数 是什么意思以及如何在 PHP 中格式化这个数字 k是缩写基洛前缀并表示千 所以6k就是六千 您可以使用以下除法函数来格式化数字 function format number prefixes kMGTPEZY if numb
  • SQL Server MERGE + 连接其他表

    我在数据库项目中使用 MERGE 语句从静态值集中填充参考数据 如下所示 MERGE INTO dbo User AS TARGET USING VALUES email protected My Name AS SOURCE UserNa
  • 这是在 C++ 中实现有界缓冲区的正确方法吗?

    Closed 这个问题是无关 目前不接受答案 我正在开发一个程序 该程序处理多个线程访问 存入和从有界缓冲区容器中取出的问题 我注意到线程的一些主要问题 并怀疑我的缓冲区在某处部分或根本不正确 为了确保我知道我在做什么 我希望检查一下我的缓
  • 通过 HTML/PHP 使用 htaccess 自定义登录

    我正在开发一个网站 该网站的目录受 htaccess 保护 我想创建一个自定义登录页面 而不是依赖浏览器默认页面 有人对此有经验吗 我想通过 HTML 表单进行连接 有人觉得可能吗 Thanks 是的 这是可能的 但您不应该使用 htacc
  • 在视图中显示当地时间

    在 config application rb 中 我的文件中有 config time zone UTC 不带引号 我假设这是为了将输入到视图中的用户时间转换为存储在数据库中的 UTC 我的问题是 如何将数据库中的 UTC 值转换为用户的
  • 创建 iOS/OSX 框架:在分发给其他开发人员之前是否有必要对其进行协同设计?

    我正在学习如何创建 iOS 和 OSX 框架 让我们以 iOS 为例 到目前为止 以下步骤对我有效 使用 sdk iphonesimulator 和 Build 操作的 xcodebuild 框架 使用 sdk iphoneos 和 Bui
  • 使用 iOS hooks 将照片发布到 Instagram

    我在 iOS 应用程序中使用以下代码来使用 Instagram iPhone 挂钩将照片发布到 Instagram 我只希望 打开方式 菜单有 Instagram 应用程序 没有其他应用程序 但就我而言 Camera 也出现了 如何限制 I
  • 在 slime REPL 中使用 clojure.contrib 函数

    我想在 REPL 的 slime 中使用 clojure contrib trace 命名空间中的函数 我怎样才能让史莱姆自动加载它们 一个相关的问题 如何将特定的命名空间添加到正在运行的 repl 中 在 clojure contrib