इसकी कल्पना करें, हमारे पास एक वैश्विक क्षेत्र है जिसमें केवल एक ही ऑब्जेक्ट है, जिसे कहा जाता है codegolf
। इस ऑब्जेक्ट में एक एकल बच्चा है stackexchange
, जिसे एक संपत्ति कहा जाता है com
।
इस संपत्ति तक पहुँचना ऐसा लगेगा codegolf.stackexchange.com
।
चुनौती
आपके प्रोग्राम / फंक्शन का इनपुट एक स्ट्रिंग होगा जो ग्लोबल स्कोप पर प्रॉपर्टी एक्सेस करने की कोशिश करेगा। जब भी यह संपत्ति मिलती है, तो आप एक सत्य मान प्रिंट / वापस करेंगे। यदि संपत्ति नहीं मिली है, तो एक गलत मूल्य मुद्रित / वापस किया जाएगा। पकड़: जब आप किसी गैर-मौजूद वस्तु पर एक संपत्ति तक पहुंचने का प्रयास करते हैं, तो आपके कार्यक्रम को किसी भी तरह की त्रुटि को फेंक देना चाहिए।
चीजों को थोड़ा आसान बनाने के लिए, आप मान सकते हैं कि इनपुट हमेशा रहेगा [a-z.]
, यह कभी खाली नहीं होगा, इसमें कभी भी दोहराव .
नहीं होगा और यह कभी भी शुरू या समाप्त नहीं होगा .
। तो codegolf.
एक अमान्य इनपुट है।
परीक्षण के मामलों
codegolf.stackexchange.com => 1 // or any other truthy value
codegolf.stackexchange.net => 0 // or any other falsy value
codegolf.stackexchange => 1
codegolf.foo => 0
codegolf => 1
foo => 0
codegolf.com => 0
codegolf.constructor => 0
codegolf.foo.bar => Error (since foo is undefined)
codegolf.stackexchange.com.foo => Error (since com is a value, not an object)
codegolf.stackexchange.com.foo.bar => Error
foo.stackexchange.com => Error
foo.bar => Error
foo.bar.baz => Error
यह कोड-गोल्फ है , बाइट्स जीत में सबसे छोटा कोड है
¹ अगर (और केवल यदि) अपनी पसंद के भाषा त्रुटियों का समर्थन नहीं करता सब पर , आप उत्पादन कुछ है जो यह स्पष्ट है कि यह एक त्रुटि है बनाता है चाहिए। उदाहरण के लिए, यदि आप सत्य के लिए 1 और झूठी के लिए 0 का उपयोग करते हैं, तो आप त्रुटि के लिए "ई" का उपयोग कर सकते हैं। अपने रिटर्न मूल्यों के अनुरूप बनें और अपनी पोस्ट में व्यवहार की व्याख्या करें।
codegolf.com
करने के लिए परीक्षण मामलों को जोड़ने का अनुरोधcodegolf(.stackexchange)?(.com)?$
foo.stackexchange.com
foo
लौटना होगा undefined
, लेकिन यह एक त्रुटि नहीं है। परिभाषित नहीं होने के foo.bar
कारण त्रुटि होगी foo
।
codegolf.foo => 0
, तो foo => 0
।
foo => Error
कि यह अधिक उपयुक्त होगा।