सनसनी! सनसनी! बटनिकोव आपको 10 दिनों में अंग्रेजी सीखने की अनुमति देगा। यह पोस्ट एक छोटे से व्यक्तिगत और विशुद्ध रूप से लागू लक्ष्य को प्राप्त करने के लिए एक स्क्रिप्ट लिखने के लिए समर्पित है, लेकिन, हमेशा की तरह cmd के साथ बातचीत करने के लिए, लक्ष्य ही उन अजीब तरीकों और आश्चर्यजनक तरीकों के लिए बहुत कम दिलचस्प है (जो एक अच्छी व्यंजना है) प्राकृतिक अभिव्यक्ति) जिसके द्वारा इसे प्राप्त किया जाता है।
आपका विज्ञापन यहाँ हो सकता था। यह लेख एक अस्वीकरण से पहले होना चाहिए था, लेकिन यह पहले से ही कुछ पाठकों को डराने के लिए लंबा और उबाऊ हो गया। जो लोग इस ऑपस से खुद को परिचित करना चाहते हैं, वे इसे मेरी पोस्ट की अंतिम पंक्तियों में पा सकते हैं।
मुझे जीवन से क्या चाहिए था?
तरीकों, शिक्षकों और व्यसनों के बावजूद, अंग्रेजी सीखना एक बहुत ही महत्वपूर्ण बुनियादी प्रक्रिया से शुरू होता है, जो बाद में पृष्ठभूमि में चला जाता है, कम प्राथमिकता बन जाता है, लेकिन लंबे समय तक नहीं रुकता है (आदर्श मामले में, एक वैक्यूम में एक असीम रूप से विकासशील व्यक्ति - कभी नहीं)। और यह विदेशी भाषा के नए शब्दों के साथ आपकी शब्दावली को फिर से भरने से ज्यादा कुछ नहीं है। हर कोई अपने तरीके से जोड़े (शब्द / अनुवाद) का आयोजन करता है, लेकिन अक्सर यह दोहराव पर आधारित होता है। सबसे आसान और अच्छा तरीका कार्ड है, जिसके एक तरफ शब्द लिखा गया है, और दूसरे पर - अप्रत्याशित रूप से - इसका अनुवाद।
जबकि (डेक खाली नहीं है और थके हुए नहीं हैं) करते हैं
{
एक यादृच्छिक कार्ड लिया
शब्द को देखा
सुझाया हुआ अनुवाद
कार्ड को चालू किया
अनुवाद की तुलना संदर्भ से करें
अगर (अनुवाद मानक के साथ हुआ) && (दांतों में शब्द लगाया गया है)
डेक से एक कार्ड हटा दिया
}
अंग्रेजी में दस्तावेज़ीकरण पढ़ते हुए, मैंने अचानक खुद को यह सोचकर पाया कि मुझे वास्तव में ऐसे कार्डों की आवश्यकता है। बहुत बार, मैं निम्नलिखित परिदृश्य में आया था: जो अज्ञात शब्द सामने आया था, उसे शब्दकोश में खोजा गया है, जिसके बाद मस्तिष्क अतिरिक्त प्रयासों से परेशान नहीं होता है, इसे कैश में सहेजता है, वाक्य के संदर्भ में एम्बेड करता है, परिणामी वाक्य को पढ़ता है, कुछ निष्कर्ष बनाता है, और फिर रॉम में निष्कर्षों को संग्रहीत करता है। और बाकी सब कुछ अनावश्यक के रूप में मिटा दिया जाता है। उसी शब्द के कारण शब्दकोश में तीसरी प्रविष्टि के बाद, मुझे एहसास हुआ कि स्कूल के वर्षों को याद करने और नए शब्दों को लिखने / याद करने का अभ्यास करने का समय था।
हमारी उम्र में, कार्ड अब नहीं हैं, लेकिन ऐसे उद्देश्यों के लिए स्क्रिप्ट सबसे अधिक हैं। यह मज़ेदार इच्छा थी कि मैं मज़े से मुझे बैट-उपनामों का चयन करूँ। क्योंकि ऐसे उपकरणों के साथ, यहां तक कि सबसे सरल कार्य भी कभी-कभी बहुत दिलचस्प हो जाते हैं।
डिजाइन ही सब कुछ है
मैंने स्क्रिप्ट का अंतिम उपयोग निम्नानुसार देखा: कंसोल में किसी भी समय आप
कमांड [कमांड [परम]] टाइप कर सकते हैं, जो कि कमांड पर निर्भर करता है:
किसी भी समय स्क्रिप्ट की कॉल को कैसे लागू किया जाए और हेजल स्पष्ट है: PATH चर में निर्दिष्ट किसी भी फ़ोल्डर में तानाशाही रखें। लेकिन कुछ लोगों की कार्यक्षमता का बाकी हिस्सा थोड़ा डरावना है। बात यह है कि प्राचीन काल से, बैच फ़ाइलों को पृथ्वी पर नरक की एक शाखा माना जाता है, जहां कुछ समय तक बिना शर्त शाखा ऑपरेटर का उपयोग करके भोज शाखा का आयोजन किया जाना था (चूंकि केवल एक कमांड शुरू में तत्कालीन ब्लॉक में समर्थित था)। लेकिन सब कुछ बहता है और बदलता है, cmd विशेषताएं लंबे समय से फ़ंक्शन के लेखन का अनुकरण करने में सक्षम हैं, जो हमारी संभावनाओं को बहुत विस्तार देती हैं। और यह इस तरह किया जाता है:
कॉल करें: myFunction% param1 %% param2 %% param3% ...
...
: MyFunction
इको हेलो, हेब्रा!
बाहर निकलें / बी
काम के परिणामों को वापस करने के लिए, आप "वैश्विक" चर का उपयोग कर सकते हैं, लेकिन सूक्ष्म पारखी के लिए एक और दिलचस्प समाधान है - परिणाम को रिटर्न कोड में चिपका दें। हालांकि, सबसे अधिक बार इसे अभी भी एक चर के उपयोग की आवश्यकता होती है, हालांकि, यह आपको इसका नाम याद रखने से बचाता है। एक छोटा सा उदाहरण:
@ जरा हटके
कॉल करें: Answer_to_the_Ultimate_Question_of_Life_the_Universe_and_Everything
इको% त्रुटी%
बाहर निकलें / बी
: Answer_to_the_Ultimate_Question_of_Life_the_Universe_and_Everything
SIX = 1 + 5 सेट करें
NINE = 8 + 1 सेट करें
सेट / एक जवाब =% सिक्स% *% नौ%
बाहर निकलें / बी% ANSWER%
एक बुरे प्रोग्रामर का जीवन कठिन और सादा होता है
लेकिन मूल स्क्रिप्ट पर वापस। शून्य सन्निकटन में जोड़ने का कार्य पागलपन की दृष्टि से सरल था - इसने शब्दावली फ़ाइल में एक पैरामीटर के रूप में प्राप्त स्ट्रिंग को धक्का दिया:
गूंज% * >> शब्दावली || निकास / बी १
हालांकि, इस तरह के ऑपरेशन के लिए, हमें स्क्रिप्ट के साथ निर्देशिका में होना चाहिए, और उस निर्देशिका में नहीं जिसमें से स्क्रिप्ट को बुलाया गया था। इसके लिए कुछ महत्वपूर्ण चालें हैं: सबसे पहले, इस निर्देशिका को स्क्रिप्ट के शून्य पैरामीटर (% 0) का उपयोग करके पहचाना जा सकता है और अप्रत्याशित स्थान के मामले में आवश्यक संशोधक और उद्धरण चिह्नों के साथ ("% ~ dp0")। लेकिन यह जानते हुए भी, हम "सीडी ~% dp0" पर प्रतिबंध नहीं लगा सकते हैं, क्योंकि कमांड मामले में अवांछनीय परिणाम देगा) एक अन्य हार्ड ड्राइव पर स्क्रिप्ट स्थित है (सीडी डी बनाने की कोशिश करें: \ temp C: \, आप कर रहे हैं। सुखद आश्चर्य), या b) नेटवर्क संसाधन पर स्क्रिप्ट का स्थान। सौभाग्य से, दोनों मामलों को पुश "% ~ dp0" कमांड के सड़क जादू द्वारा ऑफसेट किया जाता है।
ऐसा लगता है कि अब आप पहले से ही शांति से सांस ले सकते हैं: पहला और सबसे सरल कार्य लिखा गया है, आप अपने अधिक जटिल भाइयों को आगे बढ़ा सकते हैं। लेकिन नहीं, अभी भी नुकसान हो रहा है। लेकिन उनके स्पष्टीकरण के लिए मुझे एक बहुत ही अजीब सवाल पूछना है: क्या यह आपके लिए अतिरिक्त अस्थायी फ़ाइलों और मैनुअल उपयोगकर्ता इनपुट की मदद के बिना कंसोल स्क्रीन पर शब्द प्रदर्शित करना कमजोर है? एक काले रंग की स्क्रीन पर एक बॉडी शर्ट केला शब्द? तुम कोशिश करो, कोशिश करो, मैं यहां इंतजार करूंगा।
...
अजीब बात है, है ना? मैं ऐसा करने का केवल एक ही तरीका जानता हूं: "गूंज।" ", जो कर्सर को अगली पंक्ति में ले जाता है, मापदंडों के साथ बुलाया जा सकता है। Echo.ON निर्माण अभी भी cmd के लिए इस सबसे कठिन कार्य को पूरा करेगा। असल में, मैं क्या कर रहा हूँ? मापदंडों के बिना तानाशाही जोड़ने के लिए एक यादृच्छिक कॉल आपको एक बहुत ही अजीब नए रिकॉर्ड के साथ मनोरंजन करेगा, यदि आप प्रतिध्वनि के लिए एक डॉट नहीं जोड़ते हैं। हालाँकि, फ़ाइल पुनरीक्षण ने इनपुट लाइन की शुद्धता पर एक न्यूनतम जांच जोड़ी, जो इस तरह के ट्रिक से बह गई। लेकिन इस स्क्रिप्ट के अन्य क्षेत्रों में, यह समस्या और इसका समाधान पूरी तरह से संरक्षित है। मैं आपको संदेश आउटपुट के सभी मामलों में केवल प्रतिध्वनि का उपयोग करने की सलाह देता हूं। अधिक पूर्वानुमान के रूप में।
Show_all फ़ंक्शन को तत्व रूप से कार्यान्वित किया जाता है: / f स्विच के साथ लूप के लिए उपयोग करते हुए, यह शब्दावली के माध्यम से चलता है और पार्सर को प्रत्येक पंक्ति देता है, जो एक समान लूप का उपयोग करके वांछित स्वरूपण के साथ प्रदर्शित करता है। यह सब उबाऊ है। लेकिन इसकी संख्या से रिकॉर्ड का आउटपुट, जो कि सबसे लोकप्रिय शो_रैंडम फ़ंक्शन के लिए बेहद आवश्यक है, को लागू करने के लिए कुछ और दिलचस्प था। सीएमडी का उपयोग करके एक पाठ फ़ाइल से एक विशिष्ट रेखा को फाड़ना मुश्किल लग रहा था। लेकिन समाधान काफी सरल और सस्ती निकला, केवल यह खोजने के लिए कि यह आवश्यक था कि अच्छी तरह से खोज उपयोगिता की क्षमताओं को जानना आवश्यक है। अर्थात्, हम खोज परिणामों में पंक्तियों को क्रमांकित करने में रुचि रखते हैं: हम मुखौटा "सभी संभावित रेखाओं" (। *) से खोजते हैं। कुंजी / n (नंबरिंग) के साथ, हम वास्तव में गिने जाने वाली शब्दावली फ़ाइल प्राप्त करते हैं, परिणाम को लूप के लिए डालते हैं, जोड़े (लाइन नंबर /) को फाड़ते हैं। स्ट्रिंग ही), और फिर यह तकनीक का मामला है।
अन्य बातों के अलावा, इस स्क्रिप्ट में खुदाई की प्रक्रिया में, मैंने एक और मज़ेदार परिस्थिति की खोज की। कुछ लोगों को लाइनों में नहीं, बल्कि ब्लॉकों में / * इस तरह के एक टिप्पणी के साथ (*) टिप्पणी करने की क्षमता की कमी है। लेकिन किसी भी क्षेत्र में लिखे गए पाठ को कभी भी निष्पादित नहीं किया जाएगा सभी आवश्यक गुण हैं। इस प्रकार, आप पाठ पर टिप्पणी कर सकते हैं, उदाहरण के लिए, इस प्रकार है:
गोटो एंडोफकमेंट
टिप्पणी १
टिप्पणी २
...
: EndofComment
या प्राकृतिक क्षेत्रों का उपयोग करें। लेकिन कई पसंदीदा टिप्पणियों के साथ
:: सही पाठ , यह पता चला है,
गंभीर समस्याएं हैंतो, स्क्रिप्ट का अंतिम संस्करण यहां पाया जा सकता है:
पाठ और
तानाशाही । उपयोग करने से पहले कम से कम एक बार तानाशाह ऐड कमांड का उपयोग करना न भूलें, अन्यथा शब्दकोश में केवल प्रदर्शित करने के लिए कुछ नहीं होगा।
मुझे यकीन नहीं है कि स्क्रिप्ट कई लोगों के लिए उपयोगी होगी, लेकिन यह ध्यान देने योग्य है: इसका दायरा कुछ हद तक व्यापक है। यदि वांछित है, तो यह किसी भी शब्द / स्पष्टीकरण जोड़े (हाइपोग्लाइसीमिया: रक्त शर्करा की एकाग्रता में कमी) को याद करने में मदद कर सकता है या, कह सकते हैं, नियम का आधा नियम / दूसरी छमाही (Zhi- शि: I के माध्यम से लिखें)। खैर, और किसी भी मामले में, इस पूरे आयोजन का मुख्य लक्ष्य - खुशी प्राप्त करना - मेरे लिए व्यक्तिगत रूप से पूरा हुआ था। मैं वास्तव में आशा करता हूं कि आपने इसे मेरे साथ साझा किया है। इस अद्भुत नोट पर, मैं शायद वादा किए गए अस्वीकरण के साथ लेख को समाप्त कर दूंगा।
त्याग
लेख का प्रारूप और विषय नए से बहुत दूर है, जो आपको पिछले लेखकों के सांख्यिकीय रूप से ध्वनि अनुभव का लाभ उठाने की अनुमति देता है और तुरंत बहुत ही सामान्य प्रश्नों में से एक दर्जन या दो का उत्तर देता है।
1.
प्रिय लेखक, आपको इस तरह का लेख / पटकथा लिखने के लिए पर्याप्त वक्रता के हाथ कहाँ से मिले? यहाँ <अक्षम्य और भयानक गलतियों की सूची> हैपियानोवादक को गोली मत मारो, वह उतना ही अच्छा खेलता है जितना वह कर सकता है। रचनात्मक आलोचना के लिए मैं हमेशा ईमानदारी से आभारी हूं, लेकिन मैं काफी परिष्कृत लोगों की जरूरतों को पूरा कर सकता हूं। उपवास कलम का टूटना है, और स्क्रिप्ट एक छोटा शौक है। कृपया उनके अनुसार इलाज करें।
2.
मुझे कुछ भी समझ नहीं आया / मुझे पहले से ही सब कुछ पता है। आपने यह सब यहाँ क्यों लिखा?अफसोस, व्यक्तिगत वरीयताओं की मौजूदगी और मौजूदा ज्ञान के अंतर के कारण जानकारी
मानव जाति के सभी प्रतिनिधियों
के लिए सुपरनाइटिंग नहीं हो सकती। यदि आप यह प्रश्न पूछते हैं, तो मैं ईमानदारी से खर्च किए गए समय के लिए माफी चाहता हूं, लेख आपके लिए अभिप्रेत नहीं था। मुझे भोला आशावादी कहें, लेकिन मेरा मानना है कि कई लोग जो इस सवाल को नहीं पूछते हैं, वे खाली नहीं हैं।
3.
खैर, जिनके लिए हमें लेख मिला। और स्क्रिप्ट की जरूरत किसे है? इसकी व्यावहारिक उपयोगिता नगण्य है।इस विशेष स्क्रिप्ट का उद्देश्य - उपयोगकर्ता की शब्दावली का विस्तार करना - पुराने अपंग सीएमडी की क्षमताओं में तल्लीन करने का एक कारण है और बैसाखी के साथ समस्याओं का एक गुच्छा हल करने के लिए अकथनीय को हिलाता है। मस्तिष्क के लिए सुखद और दिलचस्प कसरत।
4.
क्या आप यह भी जानते हैं कि मेरे प्रिय <bash / powerhell / etc> की मदद से ऐसे कार्यों को आधी लाइन में हल किया जाता है?इस मुद्दे की व्यापकता को देखते हुए, इस तरह की होलीवर के बिना, जीवन अपना सारा तेज और रंग खो देता है। लेकिन विविधता के लिए इससे बचने की कोशिश करते हैं। सीएमडी केंद्रित बैसाखी और हैक्स के लिए एक महान जगह है, यह वह है जो कभी-कभी अपने खाली समय में बहुत कमी होती है। ऐसे कार्यों का लक्ष्य मौज-मस्ती करना है। कुछ मामलों में, मस्ती के अलावा, कुछ और भी उपयोगी है।
5.
मुझे ऐसा लगता है कि यह लेख नया नहीं है और अन्य स्रोतों के एक समूह में आता है।बेशक। उसके पास कई महत्वपूर्ण वैचारिक प्रेरक हैं, जिन्होंने इसे मेरे विश्वदृष्टि, उसके हिस्से और उनके नाम लीजन में लाया। लेकिन एक जो मैं दूसरों के बीच में नहीं कर सकता, यह यहां
के बैटनिक्स के
पाठों का कुख्यात लेख है।