जावास्क्रिप्ट, 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 बाइट को जोड़ने के बाद की आवश्यकता को समाप्त करता है।