在Clojure中有一个非常方便的函数,它被称为format
.众所周知,它能够轻松模拟字符串.该功能通常在大多数编程语言中可用.
我发现ClojureScript没有实现这个功能,我有点恼火.据我所知,它是在旧版本中实现的,但最新版本不包含该功能.
谁知道这是否有原因?
format
存在于ClojureScript中.它来自Google Closure Library(GCL),它是ClojureScript的基本组成部分.不幸的是,使用它可能会很棘手.传统的方法是同时需要[goog.string :as gstring]
和[goog.string.format]
,然后聘请的命名空间gstring.format
.例如:
(ns rostering.components.services (:require [goog.string :as gstring] [goog.string.format])) (str "$" (gstring/format "%.2f" 2.5))
几乎相同的例子都在这个简短的文档页面的底部.
我不能说ClojureScript的一部分是GCL.这是另一个参考.这意味着该format
函数是ClojureScript的一部分.
以下是该参考文献的引用:
Google Closure Library是一个由Google开发的javascript库,基于模块化架构,提供DOM操作和事件的跨浏览器功能,ajax和JSON等功能.
它专门用于利用Closure Compiler(由ClojureScript编译器内部使用).
ClojureScript建立在Closure Compiler和Closure Library之上.实际上,ClojureScript命名空间是Closure模块.
对相关jira票证的评论可能会有所帮助:
支持这一点,goog.string.format无法进行高级优化,它提供了Clojure格式的一些功能 - 由于java.util.Formatter,它做了很多.为流失道歉,但这对于人们来说是一件简单的事情,因为它实际上提供了一些功能.