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+bDöngülerin kullanımı nedeniyle genellikle kıvırcık parantezleri olan ve bunun sonucunda bir
returnifadenin 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=bifadeyi sallayamıyorum gibi bir böcek gibi biraz kanıtlandı.
Yukarıdaki kod için, bir golf daha returnkısa golf ya da değil golf ne olursa olsun , açıklama ortadan kaldırmak için ?
~-m,m-1dö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)