clojure clojurescript

Clojure<> ClojureScript; Por ejemplo: la función de "formato"



(2)

Hay una función muy útil en Clojure, que se llama format . Es conocido por su capacidad para moldear fácilmente cadenas. La función está comúnmente disponible en la mayoría de los lenguajes de programación.

Me irritó un poco descubrir que ClojureScript no implementa esta función. Hasta donde pude investigar, se implementó en versiones anteriores, pero la última no contiene la función.

Alguien sabe si hay una razón para esto?


Este comentario sobre un boleto de jira relacionado podría ser útil:

Al deshacerse de este, goog.string.format desafía la optimización avanzada y ofrece algunas de las capacidades del formato de Clojure, lo que hace mucho debido a java.util.Formatter. Disculpas por el abandono, pero esto es algo simple para que la gente se pare por la poca funcionalidad que realmente ofrece.


format existe en ClojureScript. Viene de Google Closure Library (GCL), que es una parte fundamental de ClojureScript. Desafortunadamente puede ser complicado usarlo. La forma convencional es requerir tanto [goog.string :as gstring] como [goog.string.format] , y luego emplear el espacio de nombres gstring.format . Por ejemplo:

(ns rostering.components.services (:require [goog.string :as gstring] [goog.string.format])) (str "$" (gstring/format "%.2f" 2.5))

Más o menos el mismo ejemplo se encuentra al final de esta breve página de documentation .

No puedo decir lo suficiente que una parte de ClojureScript es el GCL. Aquí hay otra referencia . Esto significa que el format es una función que forma parte de ClojureScript.

Aquí hay una cita de esa referencia:

Google Closure Library es una biblioteca de javascript desarrollada por Google, basada en una arquitectura modular y proporciona funciones de navegador cruzado para manipulaciones y eventos DOM, ajax y JSON, entre otras características.

Está escrito específicamente para aprovechar el compilador de cierre (que es utilizado internamente por el compilador de ClojureScript).

Y ClojureScript se basa en el compilador de cierre y la biblioteca de cierre. De hecho, los espacios de nombres de ClojureScript son módulos de cierre.