Tips untuk bermain golf di Cheddar

12

Cheddar

Cheddar adalah bahasa pemrograman tingkat tinggi, fungsional + berorientasi objek yang dibuat oleh pengguna kami Downgoat yang dirancang untuk membuat pemrograman lebih mudah, lebih cepat, dan lebih intuitif.

Tips umum apa yang Anda miliki untuk bermain golf di Cheddar? Saya mencari ide yang dapat diterapkan pada masalah dan yang juga setidaknya agak spesifik untuk Cheddar (mis. "Hapus spasi yang tidak perlu." Bukan jawaban).

Biarawati Bocor
sumber

Jawaban:

3

Gunakan Properti yang Difungsikan

Jika Anda pernah menggunakan hanya properti dalam suatu fungsi:

A->A.long.property(n).foo.bar

Anda dapat menggunakan properti yang difungsikan untuk menyimpan beberapa byte:

@.long.property(n).foo.bar

Anda dapat merujuk variabel dalam properti yang difungsikan dengan $0.

Downgoat
sumber
2

Gunakan Operator String untuk urutan string

Saya berbicara tentang @"operator yang melakukan hal-hal yang berbeda, yang semuanya berhubungan dengan string. Ini memiliki cukup banyak kegunaan tetapi ini adalah salah satu kegunaan favorit saya:

Lihatlah ini:

@" [103, 111, 97, 116, 115] === "goats"

tidak berguna tetapi sebaliknya adalah:

@"'goats' === [103, 111, 97, 116, 115]
'goats'.bytes // compare the above too

Ini sangat berguna untuk menghasilkan alfabet :

65@"90    // Uppercase Alphabet
97@"122   // Lowercase Alphabet
65@"90+97@"122 // Both cases
String.letters // Compare 97@"122 to this
Downgoat
sumber
1

Kari

Tidak bukan kari merah (kari apa lagi yang Anda pikirkan ¬_¬). Maksud saya jenis kari ini:

a->b->

Jika Anda memiliki fungsi mengambil dua argumen. Lebih pendek untuk kari daripada tidak:

(a,b)->
a->b->

Catatan: Ini hanya lebih pendek ketika Anda memiliki dua argumen.

Downgoat
sumber
1

Gunakan argumen default

Mendeklarasikan variabel Cheddar bisa berupa byte-pembuang:

->{var a=b+1}

untungnya, Anda dapat (ab) menggunakan nilai default fungsi untuk membuat variabel:

b=a+1->b

Berikut adalah beberapa contoh kegunaan:

let f= (a,b=a+1)->b
f(5) // 6

let f= a=Math.rand()->a
f() // 0.8757450950797647
Downgoat
sumber
1

Gunakan Operator dan Ikatan yang Berfungsi

Ini sederhana. Jika Anda memiliki sesuatu seperti:

i->1+i

atau operasi serupa lainnya. Anda dapat mempersingkat menggunakan operator + ikatan yang difungsikan:

1&(+)
Downgoat
sumber
1

Gunakan operator pemetaan

The =>peta LHS ke RHS, karena didahulukan itu, ini juga berarti Anda dapat menggunakannya dengan rentang dan menggunakannya beberapa kali:

a=>f
(a).map(f)

Selain itu:

a=>f=>g           // This is equivilant to...
(a).map(f).map(g) // this
Downgoat
sumber