是否有一个在线工具可以像 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 中遍历一棵树,同时收集每个节点节点的值?

    我想创建一个函数来收集二叉树中每个节点的值 在 ClojureDocs 中 我发现了几个用于遍历树 图的函数 例如 tree seq prewalk 和 postwalk https clojuredocs org clojure core
  • 如何从 Matlab 运行 Clojure

    如何从 matlab 运行 clojure 脚本 我尝试了以下操作 使用jdk 1 7运行matlab 然后调用java MATLAB JAVA usr lib jvm java 7 oracle jre matlab 在matlab中 设
  • 如何将 Clojure memfn 与 Java 构造函数一起使用?

    我想使用 Java 构造函数作为一流的 Clojure 函数 我的用例是将字符串序列转换为具有单个字符串构造函数的 Java 对象序列 简单的Java对象 public class Foo public Foo String aString
  • 你能在 Clojure 中将插入排序表示为幺半群吗?

    这是 Clojure 中插入排序的代码 defn in sort data letfn insert raw x insert raw x sorted y raw x if nil y conj sorted x if lt x y co
  • Clojure 中使用 clj-http 进行基本身份验证

    我们正在使用clj http https github com dakrone clj http进行 HTTP 基本身份验证 我想发送带有此标头的请求 Authorization Basic dXNlcm5hbWU6cGFzc3dvcmQ
  • 重新创建一棵扁平的树

    我有一个地图向量 我想以嵌套方式对其进行转换 数据结构如下 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
  • seq 和 list 之间的区别

    Clojure 语言中的 seq 和列表有什么区别 list 1 2 3 gt 1 2 3 seq 1 2 3 gt 1 2 3 这两种形式似乎被评估为相同的结果 首先 它们可能看起来相同 但实际上并非如此 class list 1 2 3
  • clojure 中的反转哈希映射

    我在 clojure 中有哈希映射 key1 value1 key2 value2 key3 value1 我需要将其转换为哈希映射 value1 key1 key3 value2 key2 有 Clojure 方法可以做到这一点吗 clo
  • 为从 nginx 反向代理转发的请求添加唯一 id

    我们运行 nginx 作为反向代理 将请求转发到运行 Compojure 的 Clojure 应用程序 Compojure 是一个封装 Jetty 的库 为我们的应用程序提供服务 Web 请求的能力 目前 我们捕获 nginx 和 Cloj
  • 为什么“(def 元音?(set“aeiou”))”有效?

    我正在看优秀的 Clojure 教程here http ociweb com jnb jnbMar2009 html 在其中一个示例中 它具有如下所示的 Clojure 代码 def vowel set aeiou 这使得元音对于元音返回
  • 什么时候应该在 Clojure 中使用临时重新绑定特殊变量这一习惯用法?

    我注意到一些库 例如 clojure twitter 使用特殊的变量 用于动态绑定的变量 被星号包围 进行 oauth 身份验证 您将身份验证保存在 var 中 然后使用 with oauth myauth 我认为这是解决此类问题的一个非常
  • 从 JVM 线程本地空间卸载 Clojure 变量

    我正在 Clojure 中为 BaseX 编写一个插件 通过 lein uberjar 构建 并包含 Clojure 解释器 在大多数情况下 这效果很好 然而 当通过 BaseX HTTP 实例运行时 评估在 Jetty 的线程池内进行 而
  • 我从 clojure 和 python 中得到的 hmac 签名略有不同

    我从 python 实现和 clojure 实现中获得的 HMAC SHA1 签名略有不同 我很困惑什么会导致这种情况 Python实现 import hashlib import hmac print hmac new my key my
  • 这两个 clojure 函数之间有什么区别和问题?

    对于课程项目的一部分 我正在实现一个函数来从文件中读取一些数据并根据该文件创建图形结构 一整天我问了几个问题 结果就是这样 下面是一个可以正常工作的函数 它首先以惰性序列的形式读入文件 然后循环解析每一行并将其打印出来 defn print
  • 适用于具有不同数量数据字段的用户的功能

    这个问题是我练习的时候产生的教程中的观察者主题 http mishadoff com blog clojure design patterns episode 10 observer我试图将该功能应用于用户 但无法使用用户的数据字段 例如姓
  • Clojure Web 应用程序 - 我从哪里开始?

    最近我一直在研究 Clojure 我喜欢这门语言 我想看看我是否可以在其中制作一个小型网络应用程序 只是为了挑战自己 但是 我完全没有设置任何与 Java 相关的 Web 应用程序的经验 事实上 我对 Java 并没有太多的经验 我从哪说起
  • Clojure读行函数问题

    我试图在我的 Clojure 程序中获取控制台输入 但是当它到达程序的该部分时它给我这个错误 Exception in thread main java lang ClassCastException clojure lang LineNu
  • 枚举和 Clojure

    在Java C世界中 人们经常使用枚举 如果我使用的是使用枚举的 Java 库 我可以在它们和关键字之间进行转换 例如 使用 java lang Enum valueOf e aget Ljava lang Enum e getEnumCo
  • clojure 要求语法原理

    我很难理解 因此记住 此处描述的 clojure require 语法 http clojuredocs org clojure core 1 3 0 clojure core require http clojuredocs org cl
  • Clojure:只能从尾部位置重复

    我正在尝试递归地反转列表 但是我得到了Can only recur from tail position运行时 这到底意味着什么 如何改进我的代码才能使其正常工作 defn recursive reverse coll loop coll

随机推荐

  • 如何导航到新页面 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