是否有一个在线工具可以像 JSON 一样自动缩进和格式化 Clojure 代码?

2024-04-21

有很多在线工具可以获取 JSON 文本,并向您显示该文本的格式化和缩进格式。

有些甚至更进一步,形成了一个漂亮的树状结构:http://jsonviewer.stack.hu/ http://jsonviewer.stack.hu/

我们有类似的 Clojure 代码吗?

或者至少可以自动缩进的东西。

如果我的文字是这样的:

(defn prime? [n known](loop [cnt (dec (count known)) acc []](if (< cnt 0) (not (any? acc))
(recur (dec cnt) (concat acc [(zero? (mod n (nth known cnt)))])))))

它应该自动缩进如下所示:

(defn prime? [n known]
  (loop [cnt (dec (count known)) acc []]
    (if (< cnt 0) (not (any? acc))
    (recur (dec cnt) (concat acc [(zero? (mod n (nth known cnt)))])))))

看一下https://github.com/xsc/rewrite-clj https://github.com/xsc/rewrite-clj它是全新的并且完全符合您的要求。

EDIT我仍然对此表示赞同。我相信我找到了更好的解决方案:您可以轻松地做到这一点clojure.pprint利用code-dispatch无需使用外部库。

(clojure.pprint/write '(defn prime? [n known](loop [cnt (dec (count known)) acc []](if (< cnt 0) (not (any? acc))                                                                                                 (recur (dec cnt) (concat acc [(zero? (mod n (nth known cnt)))]))))) 
  :dispatch clojure.pprint/code-dispatch)
=> 
(defn prime? [n known]
  (loop [cnt (dec (count known)) acc []]
    (if (< cnt 0)
      (not (any? acc))
      (recur
        (dec cnt)
        (concat acc [(zero? (mod n (nth known cnt)))])))))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有一个在线工具可以像 JSON 一样自动缩进和格式化 Clojure 代码? 的相关文章

  • 为什么 Clojure MySQL 查询结果中出现“M”

    我有一个返回一行的 Clojure 查询 下面是返回行 映射 的部分打印输出 employer percent 0 00M premium 621 44M 这两列在mysql表中分别是decimal 5 2 和decimal 7 2 为什么
  • 无法删除 IntelliJ/Cursive 中的括号

    我正在使用 IntelliJ Cursive 编写 Clojure 我发现 删除括号的唯一方法就是将其中的内容完全删除 然后才能将括号删除 例如 假设我有以下代码 list 我只想删除左括号 一旦我在左括号上按退格键 IDE 就会忽略此行为
  • 使用 CounterClockwise 和 Eclipse 在 Clojure REPL 中进行评估

    我通常使用 Emacs 但受到启发再次尝试 CCW Eclipse 我有一个 Clojure 测试项目 其源文件 src user clj 包含以下内容 ns user println hi 我有一个 REPL 我从 Window gt S
  • clojure 要求语法原理

    我很难理解 因此记住 此处描述的 clojure require 语法 http clojuredocs org clojure core 1 3 0 clojure core require http clojuredocs org cl
  • 什么是 fn* 以及 Clojure 如何引导?

    The Clojure core 的来源 https github com clojure clojure blob master src clj clojure core clj似乎假设预先存在fn 这是在哪里定义的 引导程序还需要什么
  • 确保 Clojure 中只有一个服务实例正在运行/启动/停止的规范方法?

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

    我有一个二进制文件 其内容由zlib compress在Python上 有没有一种简单的方法可以在Clojure中打开和解压缩它 import zlib import json with open data json zlib wb as
  • 从不带破折号的字符串创建 UUID

    如何从不带破折号的字符串创建 java util UUID 5231b533ba17478798a3f2df37de2aD7 gt uuid 5231b533 ba17 4787 98a3 f2df37de2aD7 tl dr java u
  • 如何安装 leiningen 插件?

    如何安装 leiningen 插件 例如 leiningen run 我看到这个叫做 clojars org 的东西 以及如何 推 它 但我没有看到任何关于从中 拉 的东西 如果 Clojars 上有可用的插件 例如 lein run 只需
  • 为什么 clojure-mode 用一些卷曲的 f 字符替换 fn ?

    我刚刚开始使用 emacs 入门套件和 clojure 模式 现在 当我输入或粘贴 fn 在 Clojure 模式下进入缓冲区 fn 字符在窗口中被替换为稍微卷曲的小写字母 f 缓冲区已正确保存 但这非常烦人 尤其是当我以艰难的方式发现该功
  • Clojure MySQL 语法错误异常(“[...] 靠近 '???????????????' [...]”)

    除了建立连接之外 我在使用 clojure contrib sql 做任何事情时都遇到困难 我有一个 mysqld 在 localhost 3306 上运行 数据库名为clj db 用户 clj user localhost 和密码 clj
  • Clojure 的映射和减少 Monad...Juxt Monad 怎么样?

    在学习 Clojure 的过程中 我花了很长时间试图理解 monad 它们是什么以及我们如何使用它们 但没有取得太大成功 然而 我发现了一个很棒的 Monads for Dummies 视频系列 http vimeo com 2071730
  • Clojure:对于 n 维

    Clojure 中的函数for可用于迭代嵌套序列 想象一个具有 x y 和 z 轴的 3D 空间 for x range 10 y range 5 z range 2 x y z 上面的代码将生成一个向量序列 表示长方体内所有可能的位置 当
  • Leiningen 在哪里安装 clojure 库?

    第一次运行lien 它会安装clojure 但是要安装吗 似乎并不在 图书馆 图书馆 lein clojure jar 和贡献 jar 在 Unix OS X 标题 上是否有固定位置 Leiningen使用maven 或者更准确地说 是实现
  • Common Lisp 中的原子和 Clojure 中的原子有什么区别?

    下列page http clojure org atoms讨论原子在 Clojure 中的工作原理 它并没有详细说明 Clojure 和其他 lisp 方言中原子之间的差异 Common Lisp 中的原子和 Clojure 中的原子之间的
  • 浏览器显示 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
  • 如何将目录添加到 Clojure 的类路径?

    我已使用 Maven 将库安装到 m2 repository 目录中 我想将该路径添加到默认的 Clojure 类路径中 我找不到如何执行此操作的文档 有什么提示吗 Cheers clj Clojure 1 4 0 user gt requ
  • Clojure 为什么命名为 Clojure

    为什么该语言的名称是 Clojure 我用谷歌搜索了一下 在 clojure 中询问 到目前为止 还没有运气 Rich Hickey 他是 Clojure 的设计者 对此的评论是 wiki 上的第一个参考链接 您是否根据以 closure
  • 如何部署单页应用程序。用 ClojureScript / Figwheel 编写到静态服务器?

    我正在使用 Figwheel 并编写一个简单的单页应用程序 不需要任何服务器端智能 原则上 这个应用程序 可以放置在任何静态网络服务器上 但我如何实际部署它呢 看起来我的Figwheel 开发环境中的main js 正在设置figwheel

随机推荐

  • 如何导航到新页面 React Router v4

    我正在构建一个加密货币市场应用程序来练习reactjs 当应用程序启动时 具有某些属性的货币列表将显示为列表 我需要导航到不同的页面 新页面 Currency组件 而不加载当前页面底部的组件 目前我能够将其呈现在页面底部 但这不是我需要的
  • 哪种函数式编程语言在 Eclipse 中提供最好的支持?

    作为一项练习 我的团队正在考虑学习函数式编程 选择一种语言的因素之一是它在 Eclipse 中的支持 任何带有 Eclipse 插件的语言都可以 但是哪种语言提供最好的免费插件呢 额外问题 该语言的最佳在线 书籍教程 我不知道它是否是最好的
  • 如何将新的 SomeFunction() 语法转换为 TypeScript?

    当尝试将简单的 JS 文件转换为禁用隐式 any 的 TS 时 出现以下错误 错误 TS7009 新 表达式 缺少构造函数签名 隐式具有 any 类型 interface Logger new any any Callable syntax
  • 为什么在 .NET 4 下运行时此行会导致 VerificationException?

    请帮助我 为什么此代码在 NET 4 0 下运行时会导致 VerificationException public T parseEnum
  • Gemfile - 将生产 gem 与开发 gem 分开

    所以我知道在 Gemfile 中我可以做这样的事情 group development test do gem gem1 gem gem2 end 我想要完成的是这样的事情 group production do gem gem1 gem
  • Xcode动态实时更新折线图

    我正在尝试创建一个折线图 在其中连续绘制数据 以便可以实时观察图表更新 每秒绘制大约 5 个点左右 我正在寻找的图表类似于此处显示的图表 https www vanmil org live heart rate with ios and m
  • 用 typescript 重新定义 window.console

    我的错误记录代码中有以下 javascript 它定义了console log for 某些浏览器不存在 https stackoverflow com questions 3326650 console is undefined erro
  • 如何更改 Java 文件的字体大小和字体颜色?

    如何从 Eclipse 中的 Java 文件而不是 XML 文件更改字体颜色 大小和按钮颜色 对于字体大小 您可以将其写为 tv setTextSize 20 0f 对于字体颜色 您可以将其写为 tv setTextColor Color
  • docker run 使用包含变量的 ENTRYPOINT

    我有一个私人 git 存储库github com http github com我想自动化docker build过程使用Dockerfile 我天真地认为最好的地方Dockerfile位于我的存储库的根文件夹中 例子 git clone
  • 尝试从文件创建 python 字典,但我不断收到“太多值无法解压”之类的错误

    我在记事本中保存了一个文本文件 但移到了我的 python 文件夹中 该文件夹左侧有一个国家 地区的三个字母缩写 右侧有大约四个或五个空格 它有与其对应的国家 地区 如下所示 AFG 阿富汗ARM亚美尼亚 etc 我需要字典使用三个字母作为
  • 如何防止在 Chrome 扩展程序中放大弹出窗口

    我刚刚注意到 如果我在选项卡中放大网页 通过执行 Ctrl Plus 然后打开弹出窗口对于我的 Chrome 扩展 它也得到了扩展 不幸的是 这使得它显示垂直滚动条 在更大的范围内 甚至显示水平滚动条 我发现其他扩展程序仅以 100 缩放显
  • 如何在 FakeHttpContext 中设置 Request.Header 进行单元测试

    我有一个假HttpContext我一直在尝试修改以包含一些用于测试目的的标头 public static HttpContext FakeHttpContext var httpRequest new HttpRequest http st
  • expo-auth-session 无法在 Android 独立应用程序上完成 Google 登录

    我正在使用 expo 开发一个反应本机应用程序 我用过expo auth session providers google包登录 它在世博环境中工作正常 但是当我为 Android 平台构建应用程序时 由于 google 登录未完成 因此不
  • Android - 将点击焦点设置在按钮上

    我的布局中有 4 个按钮 现在每当我单击任何按钮时 在单击事件之后 按钮应该突出显示 显示它是最后单击的 为了制作这样的东西 我尝试了以下方法 code btn1 setOnClickListener new button click li
  • 为什么 std::string("\x00") 报告长度为 0?

    我有一个需要对字符串进行编码的函数 它需要能够接受 0x00 作为有效的 字节 我的程序需要检查字符串的长度 但是如果我传入 x00 to std string the length 方法返回 0 即使字符串是单个空字符 如何获取实际长度
  • Ado.Net - 如何使用连接池?

    Net 允许连接池 根据我所读到的内容 只需向 App config 添加参数即可 问题是 我是否应该在代码中执行任何操作来使用连接池 在我的代码中 每次需要数据时我都会打开一个连接 并在完成后立即关闭它 我应该做一些特别的事情来重用连接吗
  • swing 中的登录和注销[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我制作了一个包含用户名和密码的表单
  • Mininet 找不到所需的可执行控制器

    每当我想在 mininet 中运行 sshd py 示例或我自己编写的一些客户代码时 我都会得到 Creating network Adding controller Adding hosts h1 h2 h3 h4 h5 Adding s
  • 将 TypeScript 类型打印到控制台/文件中

    我有多种类型 形成了当前在我的服务器上使用的更大 复杂的类型 是否可以将更大 复杂的类型打印到控制台 文件中 Example type TypeA prop1 string prop2 number type TypeB Omit
  • 是否有一个在线工具可以像 JSON 一样自动缩进和格式化 Clojure 代码?

    有很多在线工具可以获取 JSON 文本 并向您显示该文本的格式化和缩进格式 有些甚至更进一步 形成了一个漂亮的树状结构 http jsonviewer stack hu http jsonviewer stack hu 我们有类似的 Clo