当前位置:  开发笔记 > 编程语言 > 正文

Clojure <> ClojureScript; 例如:"格式"功能

如何解决《Clojure<>ClojureScript;例如:"格式"功能》经验,为你挑选了2个好方法。

在Clojure中有一个非常方便的函数,它被称为format.众所周知,它能够轻松模拟字符串.该功能通常在大多数编程语言中可用.

我发现ClojureScript没有实现这个功能,我有点恼火.据我所知,它是在旧版本中实现的,但最新版本不包含该功能.

谁知道这是否有原因?



1> Chris Murphy..:

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模块.


我认为这个遗产中所有格式函数的约定(`gstring/format`的文档直接引用[printf](http://www.cplusplus.com/reference/cstdio/printf/))是所有格式说明符开始的使用`%`,所以任何其他角色都可以.如果你不能指望它们,那么它们就没那么有用了.另一个例子是[java.util.Formatter](https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html)的文档(它是`clojure.core/format`的基础)给这个例子带一个美元符号:`"自上次陈述以来获得或损失的金额:$%(,.2f"`.

2> gfredericks..:

对相关jira票证的评论可能会有所帮助:

支持这一点,goog.string.format无法进行高级优化,它提供了Clojure格式的一些功能 - 由于java.util.Formatter,它做了很多.为流失道歉,但这对于人们来说是一件简单的事情,因为它实际上提供了一些功能.

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有