निम की भाषा में , पहचानकर्ताओं को अलग करने के नियम अधिकांश अन्य भाषाओं की तुलना में थोड़ा अधिक आराम से हैं। यदि वे इन नियमों का पालन करते हैं तो दो पहचानकर्ता समान हैं या समान चर को संबोधित करते हैं :
- दोनों का पहला चरित्र एक ही है (मामला संवेदनशील)
- पात्रों के सभी उदाहरणों को हटाने के बाद दोनों तार समान ( संवेदनशील में मामला ) हैं और
-
_
चुनौती
एक प्रोग्राम / फ़ंक्शन लिखें जो दो स्ट्रिंग लेता है जो निम पहचानकर्ता का प्रतिनिधित्व करते हैं और ऊपर दिए गए नियमों के आधार पर एक सत्य या गलत मूल्य पर आधारित हैं ।
विशेष विवरण
- मानक I / O नियम लागू होते हैं ।
- मानक खामियों को मना किया जाता है ।
- स्ट्रिंग्स में केवल ASCII प्रिंटबल होंगे । आप नहीं है अगर यह एक वैध पहचानकर्ता है की जाँच की जरूरत है।
- स्ट्रिंग्स को दो अलग-अलग इनपुट्स, स्ट्रिंग्स की सूची आदि के रूप में लिया जा सकता है (आप ड्रिल जानते हैं)
- खाली तारों को संभालने की जरूरत नहीं है।
- आउटपुट को सत्य और असत्य दोनों मूल्यों के अनुरूप होना चाहिए ।
- यह चुनौती सभी भाषाओं में सबसे छोटा दृष्टिकोण खोजने के बारे में नहीं है, बल्कि, यह प्रत्येक भाषा में सबसे छोटा दृष्टिकोण खोजने के बारे में है ।
- आपका कोड बाइट्स में स्कोर किया जाएगा , आमतौर पर एन्कोडिंग UTF-8 में, जब तक कि अन्यथा निर्दिष्ट न हो।
- अंतर्निहित कार्य जो इस कार्य को करते हैं, उन्हें अनुमति दी जाती है, लेकिन एक ऐसे समाधान को शामिल किया जाता है जो बिल्ट-इन पर भरोसा नहीं करता है।
- स्पष्टीकरण, यहां तक कि "व्यावहारिक" भाषाओं के लिए भी प्रोत्साहित किया जाता है ।
परीक्षण के मामलों
Input Output
count, Count falsey
lookMaNoSeparator, answer falsey
_test, test falsey
test, tset falsey
aVariableName, a_variable_name truthy
numbers_are_cool123, numbersAreCool123 truthy
symbolsAre_too>_>, symbols_areTOO>> truthy
अनपेक्षित संदर्भ कार्यान्वयन
यह निम में ही लिखा गया है।
import strutils, re
proc sameIdentifier(a, b: string): bool =
a[0] == b[0] and
a.replace(re"_|–", "").toLower == b.replace(re"_|–", "").toLower
f("test", "tset")
देता हूं, क्योंकि मुझे लगता है कि एक उत्तर इसके लिए अप्रत्याशित परिणाम देता है।
>
?
f("_test", "test")
।