Clojure 是否有命名私有函数的约定?

2024-04-10

当我在 Clojure 中定义私有函数时,我通常使用-前缀作为视觉指示符,表明该函数不能在我的命名空间之外使用,例如

(defn- -name []
  (let [formatter (formatter "yyyy-MM-dd-HH-mm-ss-SSSS")]
    (format "fixjure-%s" (unparse formatter (now)))))

But the -前缀似乎也是公共方法在使用时的约定gen-class.

有没有普遍接受的约定defn-Clojure 社区中的函数,或者我应该简单地使用无前缀名称?

看起来 clojure.contrib 中的很多代码(愿它安息)使用私有函数的普通名称,所以也许这是最好的,但我真的很喜欢视觉指示器——也许我的 C/Perl 背景太强大了! ;)


没有约定;视觉指示符在没有内置私有函数概念的语言中很流行。由于 Clojure 的函数定义为defn-在其名称空间之外不可见,无需在函数前添加 uglifier ;)

所以,做你想做的事,但你可能应该像社区其他人那样做,并正常命名他们!它会让你的生活更轻松。

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

Clojure 是否有命名私有函数的约定? 的相关文章

  • Scala 相当于 F# 中的 |> 或 Clojure 中的 ->>

    在 Scala 中 当我有这个表达式时 f1 f2 f3 p 有没有一种方法可以让我使用类似的东西 F p gt f3 gt f2 gt f1 还是 Clojure gt gt p f3 f2 f1 Scala 中没有相当于 F 的管道运算
  • 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
  • Haskell:为什么将辅助函数命名为“go”?

    I see go在阅读 Haskell 材料或源代码时 我经常会遇到这样的情况 但我从来没有真正感到舒服 我猜它在我的脑海中具有 goto 的负面含义 我开始用 LYAH 学习 Haskell 这就是我开始使用 Haskell 的原因acc
  • pmap 和线程数

    user gt Runtime getRuntime availableProcessors 2 并评估这个例子 http clojuredocs org clojure core clojure core pmap example 684
  • fn 和 fn* 有什么区别?

    在 Clojure 中 fn 和 fn 有什么区别 当我在语法中引用使用 宏创建的函数时 我看到 fn 例如 在 REPL 中 user gt inc fn p1 342 343 auto clojure core inc p1 342 3
  • 为从 nginx 反向代理转发的请求添加唯一 id

    我们运行 nginx 作为反向代理 将请求转发到运行 Compojure 的 Clojure 应用程序 Compojure 是一个封装 Jetty 的库 为我们的应用程序提供服务 Web 请求的能力 目前 我们捕获 nginx 和 Cloj
  • Clojure/Java:用于声音频谱分析的 Java 库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可以接受大量音频数据并返回给定频带内随时间变化的平均幅度的库 我已经在 comp dsp
  • 面向 Clojure 用户的 Java

    我一直在断断续续地使用 Lisp 并且正在赶上 clojure clojure的好处是我可以自然地使用所有的java函数 而clojure的坏处也是我必须自然地了解java函数 例如 我不得不花一些时间 谷歌搜索 来查找 Java 中的平方
  • 好的 Clojure 代码示例? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在第一次查看 Clojure 我发现查看 Clojure 核心库的 doc xxx 和 sourc
  • 宏、Clojure 与 Common Lisp

    我和我的一些朋友正在开发一个新平台 我们想用 lisp 构建它 主要吸引力是宏 我们都使用 Common Lisp 但我想探索 Clojure 的选择 当我提出这一点时 其中一位说宏观体系 较弱 我想知道这是否属实 以及在哪些领域 就您可以
  • Leiningen 中的本地依赖项无需创建 Maven 存储库?

    我正在构建一个 Compojure Web 应用程序 我希望它使用我编写的另一个 Clojure 项目中的函数 我对 Maven 一点也不熟悉 据我所知 它的学习曲线非常陡峭 很遗憾 一切 https stackoverflow com q
  • Clojure / Noir:强制 HTTPS,如果请求是 http:// 则重定向到 https://

    我正在尝试在我的网站上强制使用 SSL 我想要一个环形中间件 将网站重定向到与 https 相同的 URL 如果它只是 http 我编写了以下代码 但除了检查请求方案并打印它应该重定向到的 URL 之外 它实际上没有做任何事情 defn h
  • 这两个 clojure 函数之间有什么区别和问题?

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

    Context 我想生成可以通过以下方式生成的所有字符 打开记事本 按键盘上的单个键 按住 Shift 按键盘上的单个键 我目前拥有的 concat range int a int z range int A int Z range int
  • 是否有一个 clojure 函数可以“连接”两个地图列表?

    我正在寻找一个类似于sql中的join的连接函数 例如 这是两个地图列表 def a user id 1 name user 1 user id 2 name user 2 def b user id 2 email e 2 user id
  • 数据库、表和列命名约定? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 每当我设计数据库时 我总是想知道是否有命名数据库中项目的最佳方法 我经常问自己以下问题 表名应该是复数吗 列名应该是单数吗 我应该为表或列添加前
  • 如何在Java中命名HashMap?

    这可能是一个愚蠢的问题 但我从未找到一种令人满意的方式来命名类型变量HashMap
  • Clojure:让作用域和函数返回值

    我在弄清楚如何使用 let 形式时遇到了一些麻烦 在下面的示例中 我想在本地绑定值 cols 以便稍后在函数中处理它 然而 我注意到 如果我使用 let 函数 sel opt tmp 将返回 nil 值而不是列表 defn sel opt
  • 在抛出异常之前重试某件事 3 次 - 在 clojure 中

    我不知道如何在Clojure中实现这段Python代码 for i in range 3 try except e if i 2 raise e else continue else break 我想知道为什么在 Python 中如此简单的
  • 如何为自定义 Perl 模块选择一个不与内置或 CPAN 包名称冲突的包名称?

    我已阅读模块上的 perldoc http perldoc perl org perlmod html 但我没有看到关于命名包的建议 这样它就不会与内置或 CPAN 模块 包名称冲突 过去 为了开发本地Session pm模块 我使用我公司

随机推荐

  • Kotlin DSL 构建脚本依赖项更新[重复]

    这个问题在这里已经有答案了 已经有大量文章介绍了从使用 groovy 脚本迁移到使用 Kotlin DSL 进行 Gradle 依赖项管理如何成为管理构建脚本的理想方法以及其他提到的优点 然而 我发现的限制是缺乏这种 Gradle 管理方式
  • 班级人数限制是多少?

    我想知道一个班级的人数限制是多少 我做了一个简单的测试 define CLS name other class name public name other a other b other c other d other e other f
  • Foldr1 的融合定律?

    For foldr我们有融合定律 if f是严格的 f a b and f g x y h x f y 对全部x y then f foldr g a foldr h b 如何发现 导出类似的定律foldr1 显然甚至不能采取相同的形式 考
  • Request.Url.Host 是否包含子域?

    例如对于mail google com 它会返回google com还是mail google com 我自己实际上无法测试 它确实包含子域 例如mail google com
  • 你能使用 CSS 设置输入图像的 src 吗?

    你能使用 CSS 设置输入图像的 src 吗 这必须在 IE 中工作 No 你所能做的就是定义一个background imageURL 但与正确的 URL 不同 img 在很多方面 为什么需要这个 也许有一个解决方法
  • AWS EMR S3DistCp: auxService:mapreduce_shuffle 不存在

    我通过 SSH 连接到 AWS EMR v5 4 0 实例 并且想要调用 s3distcp 这个链接 http docs aws amazon com emr latest ReleaseGuide UsingEMR s3distcp ht
  • 如何使用 JMX 远程连接到 Dataproc 上的 Spark 工作线程

    我可以通过添加以下内容来很好地连接到驱动程序 spark driver extraJavaOptions Dcom sun management jmxremote Dcom sun management jmxremote port 91
  • 为我的 webpack 文件设置基本路径

    使用时requirejs 我这样做 require config baseUrl scripts console log Starting require A B C mainFunction 我在谷歌上搜索如何设置 Webpack 的基本
  • Azure:启动远程调试器失败

    我根据以下教程在 Windows Azure 中部署了一个 Web 角色 http weblogs asp net scottgu archive 2013 10 22 windows azure announcing release of
  • 如何在Java配置类中设置Spring weaver选项?

    我正在使用 Spring AOP 和提供的默认值DefaultContextLoadTimeWeaver 我希望能够编织持久化实体 并且我知道我必须设置编织器选项 来自控制台的警告 warning javax types are not b
  • Ruby on Rails Helper 方法 - HTML 显示为纯文本

    我的 Rails 应用程序有一个辅助方法 它返回一个字符串 其中包含 Google 网上论坛订阅表单的 HTML 代码 不幸的是 它以纯文本的形式出现在页面上 我怎样才能强制它呈现为 HTML 提前致谢 你的助手的结果需要在 Rails 3
  • 如何减慢或停止 XNA 中的按键速度

    我已经开始使用 XNA 框架编写游戏 并且遇到了一些我不知道如何正确解决的简单问题 我使用Texture2D 显示菜单并使用键盘 或游戏手柄 更改所选的菜单项 我的问题是当前用于在菜单项之间切换的功能太快了 我可能会单击向下按钮 它会向下移
  • 任意类型说明符上的 Defmethod?

    我想做的是 defgeneric fn x defmethod fn x integer 1 Positive integer defmethod fn x integer 1 Negative integer 我想要一个可以与任意类型说明
  • 在 SwiftUI 中,如何添加循环视频作为全屏背景图像?

    我有一个大约 10 秒长的视频 我想在我的一个 SwiftUI 视图中作为全屏背景图像循环播放 我怎样才能实现这个 第一个想法是与 Swift 合作import AVFoundation 但不确定这是否是正确的道路 您可以使用AV框架系列和
  • Chrome 在使用位置粘性/固定时会切断重影图像

    我正在尝试使用 HTML5 拖放position fixed从位于屏幕左侧固定位置的菜单中拖动元素 以下代码在 Safari 和 Firefox 中运行良好 但当我在 Chrome 中尝试时 滚动后 从拖放 API 生成的 幽灵 图像不可见
  • Leaflet.js:如何从地图中删除多个图层

    我正在使用 Leaflet js 制作地图 现在我想从地图中删除添加的图层 通过单击输入 按钮 所有选中的复选框将更改为未选中 并且所有相应的图层将从地图中删除 要从地图中删除图层 需要该图层的 ID 该 id 等于相应复选框的 id 这就
  • 如何使用 mysqli 准备好的语句绑定 N 个参数?

    在旧的 mysql 代码中 我有一个完美运行的查询 如下所示 questioncontent isset GET questioncontent GET questioncontent searchquestion questioncont
  • 如何检测用户何时成功完成php中文件的下载

    我有一个处理文件下载请求的 php 页面 我需要能够检测文件何时已成功下载 如何才能做到这一点 也许有一些方法可以检测该客户端 然后向服务器发送确认 Thanks 编辑 通过句柄 我的意思是该页面正在执行以下操作 file var www
  • Android - 应用程序安装在 SD 卡上时内部存储与外部存储

    我有一个可以下载大量内容的应用程序 用户之间有所不同 但可能是 200mb 到 1GB 或更多 目前 我将所有这些内容保存在外部存储上 因为这可能是空间最多的区域 例如 SD 卡 这在大多数情况下都可以正常工作 但在某些情况下这不一定是理想
  • Clojure 是否有命名私有函数的约定?

    当我在 Clojure 中定义私有函数时 我通常使用 前缀作为视觉指示符 表明该函数不能在我的命名空间之外使用 例如 defn name let formatter formatter yyyy MM dd HH mm ss SSSS fo