2012-06-24 12 views

Respuesta

5

Es más o menos:

namespace > files > vars 

Tenga en cuenta que:

  • espacios de nombres se define con frecuencia en un solo archivo, pero no tienen que ser (se puede utilizar varios archivos para definir un espacio de nombres)
  • vars puede contener cualquier cosa: funciones, objetos Java, datos, macros, etc. La mayoría de las veces, serán funciones o literales de datos de nivel superior
  • Los espacios de nombres son dy namic: se pueden modificar en tiempo de ejecución. Esto le da un buen montón de flexibilidad para organizar el código de diferentes maneras si quieres (se puede generar y llenar los espacios de nombres mediante programación, por ejemplo)

Ver también:

0

Los espacios de nombres de Clojure son paquetes de Java, por lo que la mayoría de los programas de Clojure están organizados de forma similar a un programa Java, al menos hasta el nivel del paquete.

Después del nivel del paquete veo que muchos programas Clojure tienden a ser más planos que sus contrapartes Java.

+1

Los espacios de nombres de Clojure a menudo se usan como los paquetes de Java, pero definitivamente se implementan de manera diferente con semánticas diferentes. Consulte la clase de Java [clojure.lang.Namespace] (https://github.com/clojure/clojure/blob/d0c380d9809fd242bec688c7134e900f0bbedcac/src/jvm/clojure/lang/Namespace.java). Clojure tiene el concepto de [libs] (http://clojure.org/libs) que están disponibles como recursos de Java y generalmente ponen a disposición un espacio de nombre de clojure. –

Cuestiones relacionadas