पर्ल 5 , रूबी , जावास्क्रिप्ट (क्रोम), पीएचपी , अजगर 2 , अजगर 3 , 1206 बाइट्स, स्कोर 6 6 /1206 = 38.6865671641791
q=1//2;s=+0;s|0;"/.__id__;#";_="""q=1//2;s=+0;s|0;"/.__id__;#";_={0}{1}{0};R=chr((39,34)[1/2>0])*12;Q=chr((39,34)[1/2==0])*3;q={0}{2}{0};print(_.format(Q,_,q[0:-12]+R,"%"))""";R=chr((39,34)[1/2>0])*12;Q=chr((39,34)[1/2==0])*3;q="""|;#<?ob_end_clean();
eval($_='"$t"?0?[$q=37 .chr+113 .chr+38 .chr,$p=(96 .chr+39 .chr)*4,$n=10 .chr,$s=39 .chr*12,$S=34 .chr*3]:eval("printf=console.log;c=String.fromCharCode;$q=c(96);$p=c(37,113,38,39).repeat(4);$n=c(10);$s=c(39).repeat(12);$S=c(34,34,34)"):[]?[$q=q(!g)^PA,$p=HARHARHARHAR^od2od2od2od2,$n=R^X,$s=bbbbbbbbbbbb^EEEEEEEEEEEE,$S=hhh^JJJ]:[$q=O^h,$p=str_repeat(RHa3^w9GS,4),$n=R^X,$s=str_repeat(b^E,12),$S=HHH^jjj];//#');printf($x='q=1//2;s=+0;s|0;"/.__id__;#";_=%7$sq=1//2;s=+0;s|0;"/.__id__;#";_={0}{1}{0};R=chr((39,34)[1/2>0])*12;Q=chr((39,34)[1/2==0])*3;q={0}{2}{0};print(_.format(Q,_,q[0:-12]+R,"%8$s"))%7$s;R=chr((39,34)[1/2>0])*12;Q=chr((39,34)[1/2==0])*3;q=%7$s|;#<?ob_end_clean();%5$seval($_=%3$s%1$s%3$s);printf($x=%3$s%2$s%3$s,$_,$x,$q,$p,$n,$s,$S,"%8$s",![]||([]+[])?$n:"");//#%4$s%6$s%7$s;print(_.format(Q,_,q[0:-12]+R,"%8$s"))%9$s',$_,$x,$q,$p,$n,$s,$S,"%",![]||([]+[])?$n:"");//#`q&%`q&%`q&%`q&%''''''''''''""";print(_.format(Q,_,q[0:-12]+R,"%"))
वैध पर्ल, रूबी, पीएचपी, पायथन 2 और पायथन 3 ऑनलाइन!
ध्यान दें : Chrome में इंस्पेक्टर कंसोल में उपरोक्त प्रोग्राम चलाना (जो स्थिति संबंधी तर्कों का समर्थन करता है console.log
) सही प्रोग्राम देता है।
व्याख्या
यह उम्मीद की तुलना में बहुत लंबा है और मैंने अपने जीवन को थोड़ा कठिन बना दिया है, इसलिए मुझे इसके साथ छेड़छाड़ करने की संभावना है। मैं और अधिक भाषाओं में भी जोड़ना चाहूंगा, लेकिन मुझे कुछ ऐसा खोजने की ज़रूरत है, जो एक $
सतर्क न हो ...
यह काफी एक मानक Quine प्रारूप जहां उपयोग करने के लिए बोली की गणना प्रत्येक भाषा के लिए एक छोटे से अलग है: रूबी में %q&
प्रयोग किया जाता है, पीएचपी का उपयोग करता है '
, जावास्क्रिप्ट (Node.js) का उपयोग करता है `
और पर्ल 5 का इस्तेमाल q(
... )
। क्योंकि केवल उद्धरण बदलते हैं, बाकी कार्यक्रम अभी भी प्रत्येक भाषा में निष्पादन योग्य और मान्य वाक्यविन्यास है। अजगर 2 और 3 का उपयोग कर पिछले कार्यक्रम के चारों ओर लिपटा कर रहे हैं """
अजगर 2 के लिए और '''
अजगर 3 के लिए।
परिणामी पर्ल और रूबी कार्यक्रम मानक quines नहीं हैं, अतिरिक्त q
/ %q
s को प्रत्येक पुनरावृत्ति में जोड़ा जाता है, लेकिन पहला प्रोग्राम सही तरीके से लौटता है।
परिणाम हैं:
- पर्ल 5:
eval($_=q&
... q&);printf($x=q&
... q&,
... );//#'%`'%`'%`'%`''''''''''''"""
... ...
- रूबी:
eval($_=%q&
... %q&);printf($x=%q&
... %q&,
... );//#`'`'`'`'''''''''''''"""
... ...
- जावास्क्रिप्ट (क्रोम):
eval($_=`
... `);printf($x=`
... `,
... );//#%q&'%q&'%q&'%q&'''''''''''''"""
...
- PHP:
eval($_='
... ');printf($x='
... ',
... );//#`q&%`q&%`q&%`q&%''''''''''''"""
...
- अजगर 2:
... _="""
... """;
... q="""
...''''''''''''""";print(_.format(Q,_,q[0:-12]+R,"%"))
- अजगर 3:
... _='''
... ''';
... q='''
...""""""""""""''';print(_.format(Q,_,q[0:-12]+R,"%"))
मैंने इसे फिर से काम किया है, मुझे आशा है कि मैंने यहाँ कुछ भी नहीं छोड़ा है। मेरे पास अभी भी जो किंग के स्कोर के पास कहीं भी जाने का एक तरीका है ...