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+bNhữ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
returncâ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ư returnkhô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=btuyê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ỏ returntuyên bố, bất kể nó có ngắn hơn hay không?
~-mlà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)