2011-04-21 10 views
5

आज मैंने बेकार ज्ञान की अपनी दैनिक खुराक पाने के लिए विकिपीडिया पर कुछ यादृच्छिक गीक-सामान लेख सर्फ किए। मैं quines भर में ठोकर खाई, जो प्रोग्राम हैं जो अपने स्वयं के स्रोत कोड मुद्रित करते हैं। मैंने पाया कि मेरे मस्तिष्क को चोट पहुंचाने का एक शानदार तरीका है, इसलिए मैंने वीबीए में एक क्विन पर काम करना शुरू कर दिया। मैं दो अच्छे कारणों के लिए किया था:गायब क्विन्स: विजुअल बेसिक (अनुप्रयोगों के लिए)

  1. मैं एक Quine VBA में लिखा
  2. VBA अजीब कोड है जो आपके दिमाग को चोट

यहाँ बनाता है लिखने के लिए प्रोत्साहित नहीं पा सके मेरी कृति है:

Sub q() 
c = "Sub q();c = #;Debug.Print Replace(Replace(c, Chr(59), vbNewLine), Chr(35), Chr(34) & c & Chr(34));End Sub" 
Debug.Print Replace(Replace(c, Chr(59), vbNewLine), Chr(35), Chr(34) & c & Chr(34)) 
End Sub 

मेरी चुनौती: क्या आप इसे छोटा (और अधिमानतः अधिक अजीब) बना सकते हैं?

उत्तर

1

मैं अगर किसी को भी das_weezul की Quine के आधार पर इस सूत्र anomore पढ़ता है, लेकिन यहाँ एक भी कम से एक है, पता नहीं है। यह "विकल्प स्पष्ट" (दास_वेज़ुल के विपरीत) से स्वतंत्र है और यह उस कार्यालय ऐप से स्वतंत्र है जिसमें आप काम कर रहे हैं (यानी एक्सेल, एक्सेस, वर्ड इत्यादि) - एलेक्स के के विपरीत। लंबाई के लिए) 2, -1 अच्छा पठनीयता के लिए;

c="c=#:?replace(c,chr(35),chr(34) &c &chr(34))":?replace(c,chr(35),chr(34) &c &chr(34)) 
+0

तुम भी है कि एक चार अक्षर कम कर सकते हैं: तत्काल खिड़की (Ctrl + G) में इसका इस्तेमाल : 'सी =" सी = #: ए = सीआर (34) :? प्रतिस्थापन (सी, सीआर (35), ए और सी और ए) ": ए = सीआर (34) :? प्रतिस्थापन (सी, सीआर (35), ए & सी और ए) ' – Dorian

+0

मैं अभी भी यह पढ़ रहा हूं: डी यह थ्रेड जीवन में वापस आने के लिए बहुत अच्छा है। वह समाधान वास्तव में चिकना दिखता है! –

+0

क्षमा करें @ एलेक्स के, डोरियन ने सिंहासन जब्त कर लिया: डी –

5

कैसे

के बारे में
Sub q() '//in mdl1 
Debug.Print Workbooks(1).VBProject.VBComponents(5).CodeModule.Lines(1, 3) 
End Sub 
+0

मुझे पता था कि किसी को उस के साथ आ जाएगा) –

संबंधित मुद्दे