जावास्क्रिप्ट, 62 61 37 बाइट्स
मदद के लिए @ Doᴡɴɢᴏᴀᴛ को धन्यवाद!
मूल [37 बाइट्स]:
f=_=>'f='+'_'.repeat((10+f).length)+f
बच्चा [74 बाइट्स]:
f=______________________________________=>'f='+'_'.repeat((10+f).length)+f
पोते [148 बाइट्स]:
f=________________________________________________________________________________________________________________=>'f='+'_'.repeat((10+f).length)+f
वैकल्पिक (मुद्रण के लिए कंसोल के साथ, और एक पूर्ण कार्यक्रम के रूप में):
मूल [61 बाइट्स]:
f=_=>console.log(`f=${'_'.repeat((0+f).length+5)+f};f()`);f()
बच्चा [122 बाइट्स]:
f=______________________________________________________________=>console.log(`f=${'_'.repeat((0+f).length+5)+f};f()`);f()
पोते [244 बाइट्स]:
f=________________________________________________________________________________________________________________________________________________________________________________________=>console.log(`f=${'_'.repeat((0+f).length+5)+f};f()`);f()
यह काम किस प्रकार करता है!
1. f=_=> फ़ंक्शन को परिभाषित करें f के रूप मेंconsole.log(...)
2. ;f() रन फंक्शन च।
3. (फंक्शन में)
टिप्पणियाँ
console.logइसके बजाय आवश्यक है alertक्योंकि alertवास्तव में लंबे तार (मेरी मशीन / ब्राउज़र कॉन्फ़िगरेशन पर कम से कम) के साथ अच्छा नहीं लगता है
_के समारोह च की (अप्रयुक्त) पैरामीटर का नाम में डाला जाता है, सुनिश्चित करें कि वे च की stringification में शामिल हैं।
console.logदूसरे पर पहले समाधान के मुख्य सुधार (एक तरफ से छुटकारा पाने से ): 10समारोह में जोड़ने के बजाय 0इसे स्ट्रिंग में डालने के लिए यह एक बाइट को लंबा बनाता है, 1 बाइट को जोड़ने के बाद की आवश्यकता को समाप्त करता है।