2011-09-20 5 views

Respuesta

8

Esto se parece a un trabajo para destructuring assignment!

{Server} = require 'mongodb' 
+0

Lamentablemente, ese enlace no funciona. ¿Cómo haría referencia al Servidor después de esto? EDITAR: Esto lo hizo más claro: http://blog.carbonfive.com/2011/09/28/destructuring-assignment-in-coffeescript/ –

5
Server = (require 'mongodb').Server 

Realmente no hay forma de demarcar estas dos expresiones con claridad utilizando solo espacios en blanco. Probé:

Server = require 'mongodb' 
    .Server 

Pero el javascript resultante fue:

var server = require('Server'.Server); 

que obviamente es incorrecto y no lo que quieres.

La respuesta correcta es "no".

Los paréntesis son importantes; te permiten aislar y demarcar expresiones. A pesar del increíble poder de Coffeescript para manejar algunos aislamientos obvios por sí mismo, no todas las expresiones pueden analizarse automágicamente. ¡Abraza el paréntesis!

+2

Hay un boleto abierto para habilitar el segundo caso. Vote por https://github.com/jashkenas/coffee-script/issues/1407 si le interesa. – matyr

4
mongo = require 'mongodb' 
Server = mongo.Server 

:)

+0

'{Server} = mongo' – vaughan

Cuestiones relacionadas