Dari apa yang saya lihat sepanjang waktu saya di PPCG, sebagian besar entri JavaScript yang melibatkan fungsi panah gemuk cenderung menjadi salah satu dari dua kubu:
Yang sederhana yang mampu berjalan sebagai pernyataan tunggal dan mengembalikan jawaban, langsung dari kelelawar, seperti
x=(a,b)=>a*a+bYang lebih kompleks yang biasanya memiliki kurung kurawal karena penggunaan loop, dan akibatnya memerlukan penggunaan a
returnpernyataan .. sepertip=b=>{m=b;for(a=1;~-m;)--m,a*=m*m;return a%b}
Mengambil contoh di atas dari kategori 2 dengan konsep kurung kurawal sebagai bukti konsep ... Apakah akan ada cara untuk melakukan golf ulang kode ini (atau serupa) seperti ini untuk menghilangkan kurung kurawal dan juga return? Saya hanya menanyakan ini karena ini berpotensi (tidak mengatakan ini akan terjadi setiap saat) menghilangkan 8 byte dari kode pegolf JS. Apakah ada teknik yang bisa digunakan dalam hal ini? Saya sudah mencoba rekursi, tetapi m=bpernyataan itu telah terbukti sebagai momok, karena sepertinya saya tidak bisa mengguncangnya.
Untuk kode di atas, bagaimana satu golf lebih jauh sehingga menghilangkan returnpernyataan, terlepas dari apakah golf lebih pendek atau tidak?
~-madalahm-1, sehingga loop dapatfor(m=b,a=1;--m;a*=m*m)a%b;dan versi rekursif dapat (belum diuji)b=>(f=a=>--m?f(a*=m*m):a%b)(1,m=b)