Burada PPCG'de geçirdiğim kadarıyla, yağ ok işlevlerini içeren JavaScript girişlerinin çoğu iki kamptan biri olma eğilimindedir:
Tek bir ifade olarak çalışabilen ve bir cevap döndüren, yarasadan çıkabilen basit olanlar,
x=(a,b)=>a*a+b
Döngülerin kullanımı nedeniyle genellikle kıvırcık parantezleri olan ve bunun sonucunda bir
return
ifadenin kullanılmasını gerektiren daha karmaşık olanlar.p=b=>{m=b;for(a=1;~-m;)--m,a*=m*m;return a%b}
Yukarıdaki örneği, konsept kanıtı olarak kıvırcık parantez konseptiyle almak ... Kıvırcık parantezleri de ortadan kaldırmak için bu kodu (veya benzerlerini) yeniden golf oynamak için bir yol olabilir mi return
? Ben sadece bu potansiyel olarak (bu her zaman olacağını söyleyerek değil) bir JS golfçü kodundan 8 bayt ortadan kaldırmak gibi soruyorum . Bu örnekte kullanılabilecek teknikler var mı? Özyinelemeyi denedim, ancak m=b
ifadeyi sallayamıyorum gibi bir böcek gibi biraz kanıtlandı.
Yukarıdaki kod için, bir golf daha return
kısa golf ya da değil golf ne olursa olsun , açıklama ortadan kaldırmak için ?
~-m
,m-1
döngü olabilirfor(m=b,a=1;--m;a*=m*m)a%b;
ve özyinelemeli sürüm olabilir (denenmemiş)b=>(f=a=>--m?f(a*=m*m):a%b)(1,m=b)