Từ những gì tôi đã thấy trong suốt thời gian ở đây trên PPCG, hầu hết các mục nhập JavaScript liên quan đến các chức năng mũi tên béo có xu hướng là một trong hai phe:
Những câu đơn giản có khả năng chạy như một câu lệnh và trả lời một câu trả lời, tắt ngay con dơi, như
x=(a,b)=>a*a+b
Những cái phức tạp hơn thường có dấu ngoặc nhọn do sử dụng các vòng lặp và kết quả là yêu cầu sử dụng một
return
câu lệnh .. nhưp=b=>{m=b;for(a=1;~-m;)--m,a*=m*m;return a%b}
Lấy ví dụ trên từ loại 2 với khái niệm niềng răng xoăn làm bằng chứng khái niệm ... Liệu có cách nào để đánh lại mã này (hoặc tương tự) như thế này để loại bỏ các dấu ngoặc nhọn cũng như return
không? Tôi chỉ hỏi điều này vì điều này có thể có khả năng (không nói điều này sẽ xảy ra mọi lúc) loại bỏ 8 byte khỏi mã của người chơi JS. Có bất kỳ kỹ thuật mà người ta có thể sử dụng trong trường hợp này? Tôi đã thử đệ quy, nhưng m=b
tuyên bố đã được chứng minh là một chút lỗi, vì tôi dường như không thể lắc nó.
Đối với đoạn mã trên, làm thế nào một golf sẽ tiến xa hơn để loại bỏ return
tuyên bố, bất kể nó có ngắn hơn hay không?
~-m
làm-1
, vì vậy vòng lặp có thểfor(m=b,a=1;--m;a*=m*m)a%b;
và phiên bản đệ quy có thể (chưa được kiểm tra)b=>(f=a=>--m?f(a*=m*m):a%b)(1,m=b)