Bagaimana cara saya mendefinisikan array objek anonim di CoffeeScript? Apakah ini mungkin sama sekali, menggunakan sintaks YAML?
Saya tahu bahwa memiliki larik objek bernama cukup mudah:
items:[
item1:
name1:value1
item2:
name:value2
]
Namun, akan sedikit lebih rumit, jika kedua objek tersebut tidak memiliki nama
coffeescript
Preslav Rachev
sumber
sumber
Sederhana - letakkan koma dengan sendirinya di kolom yang lebih rendah daripada tempat Anda mendefinisikan objek.
Akan menjadi:
sumber
[
di sebelah kiri baris berikutnya, itu cukup membingungkan ..Anda juga dapat menambahkan koma di antara setiap objek:
sumber
Saya pikir solusi koma lebih baik, tetapi saya pikir saya akan menambahkan ini untuk kelengkapan:
sumber
Anda dapat mendefinisikan variabel saat mendefinisikan array, jadi jawaban yang jelek adalah:
Ini akan berhasil, tetapi Anda mungkin mendapatkan peringatan tentang "ditentukan, tetapi tidak menggunakan variabel (item1, item2)". Cara yang lebih baik adalah menggunakan garis bawah, variabel yang digunakan untuk menghilangkan variabel yang tidak digunakan:
console.log JSON.stringify(a)
akan menghasilkan ini:sumber
Bukan jawaban untuk pertanyaan OP, tapi kalau-kalau Anda berada di sini karena alasan yang sama dengan saya ... Jika Anda rendah di Mountain Dew dan menggunakan '=' daripada ':', maka Coffeescript akan mengubah array Anda objek ke dalam larik datar tanpa kesalahan kompilasi:
Menghasilkan
Masukkan lebih banyak Mountain Dew dan ganti '=' dengan ':'.
sumber
Saya sangat senang untuk melaporkan setelah sedikit mengutak-atik bahwa saya dapat menyusun ini dengan benar:
Hasilnya seperti yang Anda harapkan: daftar dua objek anonim.
sumber
Saya mengalami masalah terkait dan menemukan solusi ini. Jika Anda menginginkan sebuah array dari banyak objek k / v tunggal tanpa tanda kurung, cukup indentasi beberapa di antaranya. Tampaknya berhasil.
Menghasilkan:
Ini kontra-intuitif bagi saya; Anda akan berpikir bahwa ini akan membuat sub-objek tetapi saya pikir koma di akhir baris menyuruhnya berhenti membuat properti pada objek itu.
sumber
Python
adalah 'bahasa pertama' saya, saya tidak takut menggunakan beberapa tanda kurung dan tanda kurung tambahan. Bahkan jika Coffeescript tidak membutuhkannya, saya merasa itu berguna. Blok kedua Anda lebih mudah dibaca.Kenapa tidak:
Ini masih merupakan peningkatan besar bagi saya atas js, sangat mudah dibaca, minimal dan cukup aman untuk ditulis.
sumber