¿Cómo defino una matriz de objetos anónimos en CoffeeScript? ¿Es esto posible en absoluto, usando la sintaxis YAML?
Sé que tener una matriz de objetos con nombre es bastante fácil:
items:[
item1:
name1:value1
item2:
name:value2
]
Sin embargo, sería un poco más complicado si esos dos objetos no tuvieran nombres
coffeescript
Preslav Rachev
fuente
fuente
Simple: coloque una coma sola en una columna más baja que aquella en la que define sus objetos.
Se convertirá:
fuente
[
a la izquierda de la siguiente línea, ya es bastante confuso ...También puede agregar una coma entre cada objeto:
fuente
Creo que la solución de coma es mejor, pero pensé que agregaría esto para completar:
fuente
Puede definir la variable mientras define la matriz, por lo que una respuesta desagradable sería:
Funcionaría, pero es posible que reciba advertencias sobre "variables definidas, pero no utilizadas (elemento1, elemento2)". Una mejor manera sería usar un guión bajo, variable usada para omitir variables no usadas:
console.log JSON.stringify(a)
producirá esto:fuente
No es una respuesta a la pregunta del OP, pero en caso de que esté aquí por la misma razón que yo ... Si tiene poca cantidad de Mountain Dew y usa '=' en lugar de ':', entonces Coffeescript convertirá su matriz de objetos en una matriz plana sin un error de compilación:
Produce
Inserte más Mountain Dew y reemplace el '=' con ':'.
fuente
Estoy muy feliz de informar después de un poco de manipulación que podría hacer que esto se compilara correctamente:
El resultado es exactamente lo que cabría esperar: una lista de dos objetos anónimos.
fuente
Me encontré con un problema relacionado y encontré esta solución. Si desea una matriz de muchos objetos k / v individuales sin llaves, simplemente sangra algunos de ellos. Parece funcionar.
Produce:
Es contrario a la intuición para mí; pensarías que esto haría subobjetos, pero creo que la coma al final de la línea le dice que deje de hacer propiedades en ese objeto.
fuente
Python
es mi "primer idioma", no tengo miedo de usar algunos corchetes y llaves adicionales. Incluso si Coffeescript no los necesita, los encuentro útiles. Su segundo bloque es más legible.Por qué no:
Sigue siendo una gran mejora para mí con respecto a js, muy fácil de leer, mínimo y bastante seguro de escribir.
fuente