Nach dem, was ich während meiner Zeit bei PPCG gesehen habe, handelt es sich bei den meisten JavaScript-Einträgen mit Fettpfeil-Funktionen in der Regel um eines von zwei Camps:
Die einfachen, die in der Lage sind, als eine einzige Aussage zu laufen und eine Antwort direkt von der Fledermaus zurückzusenden, mögen
x=(a,b)=>a*a+b
Die komplexeren, die normalerweise geschweifte Klammern haben, weil Schleifen verwendet werden und daher die Verwendung einer
return
Anweisung erfordern .. wiep=b=>{m=b;for(a=1;~-m;)--m,a*=m*m;return a%b}
Nehmen wir das obige Beispiel aus Kategorie 2 mit dem Konzept der geschweiften Klammern als Proof-of-Concept ... Gibt es eine Möglichkeit, diesen Code (oder einen ähnlichen) so erneut zu spielen, dass sowohl die geschweiften Klammern als auch die geschweiften Klammern entfernt werden return
? Ich frage dies nur, da dies potenziell (ohne zu sagen, dass dies die ganze Zeit passieren wird) 8 Bytes aus dem Code eines JS-Golfers eliminieren könnte. Gibt es Techniken, die man in diesem Fall verwenden könnte? Ich habe es mit Rekursion versucht, aber die m=b
Aussage hat sich als Bugbear erwiesen, da ich sie scheinbar nicht erschüttern kann.
Wie würde man mit dem obigen Code weiter Golf spielen, um die return
Aussage zu eliminieren , unabhängig davon, ob es kürzer ist oder nicht?
~-m
istm-1
, so kann die Schleife seinfor(m=b,a=1;--m;a*=m*m)a%b;
und die rekursive Version kann sein (ungetestet)b=>(f=a=>--m?f(a*=m*m):a%b)(1,m=b)