ここPPCGで私が見てきたことから、太い矢印関数を含むほとんどのJavaScriptエントリは、2つの陣営のうちの1つである傾向があります。
単一のステートメントとして実行し、すぐに答えを返すことができるシンプルなもの
x=(a,b)=>a*a+b
ループを使用しているために通常中括弧があり、結果として
return
ステートメントを使用する必要がある、より複雑なもの。p=b=>{m=b;for(a=1;~-m;)--m,a*=m*m;return a%b}
概念実証として中括弧の概念を持つカテゴリ2から上記の例を取り上げreturn
ます。これは、JSゴルファーのコードから8バイトを削除できる可能性があるため(これが常に発生するというわけではない)、これを求めているだけです。このインスタンスで使用できるテクニックはありますか?私は再帰を試みましたが、このm=b
声明は揺るがすことができないように思われるので、ちょっとしたバグであることが証明されました。
上記のコードの場合、return
ゴルフが短くなるかどうかに関係なく、どのようにしてさらにゴルフがステートメントを削除するでしょうか?
~-m
ism-1
であるため、ループが可能にfor(m=b,a=1;--m;a*=m*m)a%b;
なり、再帰バージョンが可能になります(未テスト)b=>(f=a=>--m?f(a*=m*m):a%b)(1,m=b)