yo encontramos este fragmento en el CoffeeScript Preguntas para la creación de espacios de nombres simplistas ..Clases dentro de CoffeeScript 'Espacio de nombres'
# Code:
#
namespace = (target, name, block) ->
[target, name, block] = [(if typeof exports isnt 'undefined' then exports else window), arguments...] if arguments.length < 3
top = target
target = target[item] or= {} for item in name.split '.'
block target, top
# Usage:
#
namespace 'Hello.World', (exports) ->
# `exports` is where you attach namespace members
exports.hi = -> console.log 'Hi World!'
namespace 'Say.Hello', (exports, top) ->
# `top` is a reference to the main namespace
exports.fn = -> top.Hello.World.hi()
Say.Hello.fn() # prints 'Hi World!'
Eso es todo muy bien, pero estoy teniendo una gran cantidad de problemas para hacer esto con el class
palabra clave. Tal que ...
namespace 'Project.Something', (exports) ->
exports.something = -> class something
// .. code here
exports.somethingElse = class somethingElse extends something
¿Alguien puede arrojar algo de luz sobre la sintaxis que lograría esto?
¡Ya vamos! Era tan simple, pero tan frustrante al mismo tiempo. ¡Gracias! – Ciel
Debería haber un método que haga esto por usted :( – jackyalcine
¿Esto no derrota el propósito del Espaciado de nombres? ¿Visto como MyFirstClass ahora se define tanto en el Espacio de nombres como fuera de él? @ La respuesta de ChrisSubagio parece una forma más correcta de hacerlo –