Из того, что я видел в PPCG на протяжении всего моего времени, большинство записей JavaScript, включающих функции жирных стрелок, как правило, являются одним из двух лагерей:
Простые, которые способны работать как одно утверждение и возвращать ответ, сразу же, как
x=(a,b)=>a*a+b
Более сложные, которые обычно имеют фигурные скобки из-за использования циклов, и в результате требуют использования
return
оператора .. какp=b=>{m=b;for(a=1;~-m;)--m,a*=m*m;return a%b}
Взяв приведенный выше пример из категории 2 с концепцией фигурных скобок в качестве доказательства концепции ... Будет ли способ изменить этот код (или аналогичный) таким образом, чтобы устранить фигурные скобки, а также return
? Я только спрашиваю об этом, поскольку это потенциально (не говоря уже о том, что это будет происходить постоянно) исключит 8 байтов из кода JS golfer. Есть ли какие-либо методы, которые можно использовать в этом случае? Я пробовал рекурсию, но m=b
утверждение оказалось чем-то вроде багбира, так как я не могу его поколебать.
Для приведенного выше кода, как один гольф, который дальше, чтобы исключить return
утверждение, независимо от того, является ли он гольф короче или нет?
~-m
естьm-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)