GoGPT Best VPN GoSearch

ऑनवर्क्स फ़ेविकॉन

निकल - क्लाउड में ऑनलाइन

उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर पर ऑनवर्क्स फ्री होस्टिंग प्रदाता में निकल चलाएं

यह कमांड निकल है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।

कार्यक्रम:

नाम


निकेल - एक डेस्क कैलकुलेटर भाषा

SYNOPSIS


निकल [--सहायता|--उपयोग] [-एफ फ़ाइल] [-एल लाइब्रेरी] [-ई एक्सपीआर] [स्क्रिप्ट] [--] [आर्ग ...]

वर्णन


Nickle शक्तिशाली प्रोग्रामिंग और स्क्रिप्टिंग क्षमताओं वाली एक डेस्क कैलकुलेटर भाषा है।
Nickle विभिन्न प्रकार के डेटाटाइप्स का समर्थन करता है, विशेष रूप से मनमाने ढंग से सटीक पूर्णांकों का,
तर्कसंगत, और अस्पष्ट वास्तविकताएँ। इनपुट भाषा अस्पष्ट रूप से C से मिलती जुलती है। C में कुछ चीजें हैं
जो आसानी से अनुवादित नहीं होते वे भिन्न हैं, कुछ डिज़ाइन विकल्प बनाए गए हैं
अलग ढंग से, और बहुत कम सुविधाएँ गायब हैं।

उपयोग


एक गैर-ध्वजांकित तर्क को Nickle स्क्रिप्ट के रूप में माना जाता है, और मानक इनपुट को प्रतिस्थापित करता है। कोई
स्क्रिप्ट के बाद शेष तर्क Nickle स्ट्रिंग सरणी argv में रखे गए हैं
प्रोग्रामेटिक निरीक्षण. जब किसी अभिव्यक्ति या स्क्रिप्ट तर्क के बिना आह्वान किया जाता है, Nickle
मानक इनपुट से पढ़ता है, और मानक आउटपुट पर लिखता है।

विकल्प इस प्रकार हैं:

--मदद,--उपयोग
सहायता/उपयोग संदेश प्रिंट करें और बाहर निकलें। यह Nickle's की एक अंतर्निहित सुविधा है
ParseArgs मॉड्यूल, और इस प्रकार यह उपयोग करने वाली Nickle स्क्रिप्ट के लिए भी सच होगा
पुस्तकालय।

-एफ,-फ़ाइल पट्टिका
भार पट्टिका निष्पादन शुरू करने से पहले निकल में।

-एल,--लाइब्रेरी पुस्तकालय
भार पुस्तकालय निष्पादन शुरू करने से पहले निकल में। विवरण के लिए नीचे देखें
पुस्तकालय सुविधा का.

-इ,--एक्सप्र expr
मूल्यांकन करना expr निष्पादन शुरू करने से पहले.

-- तर्कों का विश्लेषण करना बंद करें और शेष को बिना मूल्यांकन के पास कर दें अर्जीवी.

वाक्य - विन्यास


किसी इंटरैक्टिव सेटिंग में इनपुट भाषा को अधिक उपयोगी बनाने के लिए, नई पंक्ति केवल समाप्त होता है
``उचित'' समय पर बयान। नई पंक्ति या तो अभिव्यक्ति या एकल को समाप्त करता है
उपयोगकर्ता द्वारा टाइप किए गए कथन (कुछ कथनों को छोड़कर जिनकी आवश्यकता होती है
आगे की ओर देखें: विशेष रूप से if() और twixt(), जिसमें एक वैकल्पिक अन्य भाग होता है)। अंदर का परिसर
कथन या फ़ंक्शन परिभाषाएँ, केवल a ; कथनों को समाप्त करता है। यह दृष्टिकोण है
सुविधाजनक है और सामान्य उपयोग में कोई समस्या उत्पन्न नहीं करता है।

Nickle प्रोग्राम का सिंटैक्स इस प्रकार है। इस विवरण में, नाम किसी को भी दर्शाता है
किसी अंक से शुरू न होने वाले अक्षरों, अंकों और _ वर्णों का क्रम; E किसी को भी दर्शाता है
अभिव्यक्ति; S किसी भी कथन को दर्शाता है; और T किसी भी प्रकार को दर्शाता है. वाक्यविन्यास एक्स,एक्स,...,एक्स अर्थ है
एक या अधिक अल्पविराम से अलग किए गए Xs, जब तक कि अन्यथा इंगित न किया गया हो।

टिप्पणियाँ:

सी-शैली टिप्पणियाँ /* और */ में संलग्न हैं, और शेल-शैली टिप्पणियाँ ए द्वारा दर्शायी जाती हैं
पंक्ति के आरंभ में अग्रणी #।

संकार्य:

वास्तविक संख्या
इसमें घातांक शामिल हो सकता है, दशमलव बिंदु या चिह्न शामिल करने की आवश्यकता नहीं है। के रूप में व्यवहार किया जाएगा
सटीक तर्क. यदि अनुगामी दशमलव भाग में एक उद्घाटन घुंघराले ब्रेस शामिल है, तो
ब्रेस को चुपचाप नजरअंदाज कर दिया जाता है; यदि इसमें घुंघराले-कोष्ठक वाला पिछला भाग शामिल है, तो यह है
इसे दोहराए जाने वाले दशमलव के रूप में माना जाता है। `फ़्लोटिंग पॉइंट'' स्थिरांक वर्तमान में हैं
आंतरिक रूप से तर्कसंगत के रूप में दर्शाया गया है: किसी दिए गए परिशुद्धता के साथ फ़्लोटिंग स्थिरांक के लिए
(और एक अनंत-सटीक घातांक), imprecise() अंतर्निहित फ़ंक्शन का उपयोग करें
नीचे वर्णित।

अष्टक संख्या
0 से प्रारंभ करें (उदाहरण के लिए, 014 12 के समान है)।

हेक्साडेसिमल संख्या
"0x" से प्रारंभ करें (उदाहरण के लिए, 0x1a 26 के समान है)।

स्ट्रिंग जैसा कि सी में है। स्ट्रिंग स्थिरांक दोहरे-उद्धरण से घिरे हुए हैं। बैकस्लैश किए गए पात्र
(डबल-कोट्स सहित) स्वयं के लिए खड़ा है, सिवाय इसके कि "\n" न्यूलाइन के लिए है,
कैरिज रिटर्न के लिए "\r", बैकस्पेस के लिए "\b", टैब के लिए "\t" और फॉर्मफीड के लिए "\f"।

नाम एक चर संदर्भ.

नाम() नाम(ई,ई,...,ई)
शून्य या अधिक तर्कों वाला एक फ़ंक्शन कॉल। फ़ंक्शंस पूरी तरह से कॉल-दर-वैल्यू हैं:
सी में संदर्भित होने के बजाय सरणियों और संरचनाओं की प्रतिलिपि बनाई जाती है।

विवरण नाम टी नाम = मूल्य
परिभाषा अभिव्यक्तियाँ: एक नया नाम उपलब्ध कराया गया है, के मूल्य के साथ
परिभाषा दूसरे रूप में प्रारंभकर्ता का मान है, और अप्रारंभीकृत है
पहले रूप में. डिस्क्रिप्टर विवरण वैकल्पिक नहीं है: इसमें कोई भी शामिल है
दृश्यता, भंडारण वर्ग या प्रकार का संयोजन (उसी क्रम में)। क्वालिफायर देखें
इन क्वालिफायर के विवरण के लिए तुरंत नीचे। एक संरचित मूल्य
अभिव्यक्ति भी संभव है: नीचे मान देखें।

निकल मान के साथ एक परिभाषा आरंभ करने में सक्षम होने के अलावा, सी-शैली
सरणी, संरचना और संघ परिभाषाओं की भी अनुमति है: उदाहरण के लिए,
निम्नलिखित
int[*,*] नाम = {{0,1},{2,3}}
int[2,2] नाम = {{0...}...}
स्पष्ट शब्दार्थ के साथ अनुमति है। यह वह संदर्भ है जिसमें
किसी प्रकार में आयाम अभिव्यक्ति हो सकते हैं: उपरोक्त सरणी प्रकारों की चर्चा देखें।
सरणी और संरचना के लिए सरणी और संरचना मानों की चर्चा देखें
इनिशियलाइज़र सिंटैक्स।

क्वालिफायर


प्रोग्रामैटिक के विवरण को इंगित करने के लिए एक घोषणा या परिभाषा को सी के रूप में योग्य बनाया जा सकता है
व्यवहार। सी के विपरीत, ये क्वालीफायर, वैकल्पिक होते हुए भी, दिए गए क्रम में प्रदर्शित होने चाहिए।

दृश्यता:

सार्वजनिक कोई भी परिभाषा अभिव्यक्ति (फ़ंक्शन परिभाषा, चर परिभाषा, प्रकार
परिभाषा) को सार्वजनिक रूप से यह इंगित करने के लिए योग्य बनाया जा सकता है कि नाम परिभाषित किया जा रहा है
वर्तमान नामस्थान के बाहर दृश्यमान होना चाहिए, और स्वचालित रूप से होना चाहिए
आयातित. अधिक जानकारी के लिए नीचे नेमस्पेस देखें।

संरक्षित
कोई भी परिभाषा अभिव्यक्ति (फ़ंक्शन परिभाषा, चर परिभाषा, प्रकार
परिभाषा) को यह इंगित करने के लिए संरक्षित किया जा सकता है कि नाम परिभाषित किया जा रहा है
वर्तमान नामस्थान के बाहर दृश्यमान होना चाहिए, लेकिन उपलब्ध नहीं कराया जाना चाहिए
आयात घोषणाओं द्वारा. अधिक जानकारी के लिए नीचे नेमस्पेस देखें।

आजीवन:

ऑटो एक ऑटो ऑब्जेक्ट एक विशेष ब्लॉक के लिए स्थानीय है: इसका जीवनकाल कम से कम है
उस ब्लॉक का जीवनकाल. इनिशियलाइज़र के साथ एक ऑटो ऑब्जेक्ट को फिर से इनिशियलाइज़ किया जाएगा
हर बार इसका मूल्यांकन किया जाता है। यह स्थानीय वस्तुओं के लिए डिफ़ॉल्ट जीवनकाल है।

स्थिर एक स्थिर वस्तु किसी विशेष फ़ंक्शन परिभाषा के लिए स्थानीय होती है: इसका जीवनकाल पर होता है
कम से कम उस परिभाषा का जीवनकाल। प्रत्येक एक नई स्थिर वस्तु बनाई जाएगी
समय-समय पर इसकी संलग्न फ़ंक्शन परिभाषा का मूल्यांकन किया जाता है।

Nickle में, कीवर्ड static का संबंध केवल जीवनकाल से है (जैसे static का उपयोग)।
सी फ़ंक्शंस के अंदर), दृश्यता के साथ नहीं (जिसे अलग-अलग क्वालिफायर द्वारा नियंत्रित किया जाता है
जैसा कि ऊपर वर्णित है, सी में वैश्विक दायरे में स्थैतिक के उपयोग की तरह नहीं)।

वैश्विक एक वैश्विक वस्तु पूरे कार्यक्रम के लिए वैश्विक है: इसका जीवनकाल जीवनकाल है
कार्यक्रम। इसकी परिभाषा होने पर एक वैश्विक वस्तु बनाई और आरंभ की जाएगी
पहली बार देखा गया है. यह वैश्विक वस्तुओं के लिए डिफ़ॉल्ट जीवनकाल है।

Nickle में स्थिर और वैश्विक जीवनकाल के बीच अंतर C में संभव नहीं है,
क्योंकि सी फ़ंक्शंस नेस्टेड स्कोप वाले प्रथम श्रेणी ऑब्जेक्ट नहीं हैं। निर्णय लेते समय
निकल प्रोग्राम में किसका उपयोग करना है, इस बारे में सोचें कि यदि कोई परिभाषा है तो क्या होना चाहिए
पुनः मूल्यांकन किया गया।

ऑपरेटरों


यहां मूल निकल ऑपरेटर हैं, जिन्हें घटती प्राथमिकता के क्रम में समूहीकृत किया गया है:

ए[ई,ई,...,ई]
सरणी अभिव्यक्ति A के E'वें तत्व या E1'th/E2'th/आदि को संदर्भित करता है
बहुआयामी सरणी का तत्व। सरणियों के दोनों सरणियाँ अला सी और
बहुआयामी सरणियाँ ala NAWK संभव हैं।

struct.tag
संरचना विचलन.

संरचना->टैग
संरचना सूचक डीरेफ़रेंस अला सी.

=============

++ - एकात्मक वेतन वृद्धि/कमी। या तो उपसर्ग या उपसर्ग हो सकता है।

- यूनरी नकार

! ई तार्किक निषेध.

इ ! भाज्य. एक गैर-नकारात्मक पूर्णांक तर्क की आवश्यकता है।

* ई पॉइंटर डीरेफ़रेंस।

एवं ई संदर्भ निर्माण।

=============

(यू) ई टैग यू और मूल्य ई के साथ यूनियन प्रकार का एक मान बनाएं।

=============

** घातांक। दोनों ऑपरेंड भिन्नात्मक हो सकते हैं। बायां ऑपरेंड गैर होना चाहिए-
नकारात्मक जब तक कि सही ऑपरेंड पूर्णांक न हो। परिणाम प्रकार का प्रकार है
यदि दायां ऑपरेंड पूर्णांक है तो बायां ऑपरेंड, अन्यथा वास्तविक।

यह निकल की एकमात्र ज्ञात टाइप-अनसाउंड विशेषता है: 2 ** -3 जैसी अभिव्यक्ति
स्थिर रूप से पूर्णांक प्रकार का होगा, लेकिन गतिशील रूप से एक परिमेय उत्पन्न करेगा
परिणाम। इससे बाद में रनटाइम प्रकार की त्रुटि हो सकती है: विचार करें
पूर्णांक x = 2 ** -3;

=============

* // %
समय, भाग, पूर्णांक भाग, और शेषफल। पिछले तीन का सही ऑपरेंड
ऑपरेटरों को गैर-शून्य होना चाहिए। डिवीजन ऑपरेटर का परिणाम प्रकार हमेशा रहेगा
कम से कम तर्कसंगत: पूर्णांक विभाजन ऑपरेटर का परिणाम प्रकार हमेशा रहेगा
int. यह सी से एक उल्लेखनीय विचलन है, जहां पूर्णांक विभाजन निहित है
पूर्णांक ऑपरेंड. पूर्णांक विभाजन द्वारा परिभाषित किया गया है
x // y == y > 0? मंजिल (x / y) : छत (x / y)
शेषफल हमेशा गैर-ऋणात्मक होता है और इसे: द्वारा परिभाषित किया जाता है
एक्स% वाई = एक्स - (एक्स // वाई) * वाई

=============

+ - जोड़ और घटाव।

=============

<< >> पूर्णांक ऑपरेंड के साथ बिटवाइज़ बाएँ और दाएँ शिफ्ट। नकारात्मक दायाँ ऑपरेंड कार्य करता है
आशा के अनुसार। इन ऑपरेटरों को परिभाषित किया गया है
x << y = x * 2 ** y
एक्स >> वाई = एक्स // 2 ** वाई
इसे देखने का दूसरा तरीका यह है कि नकारात्मक बाएँ ऑपरेंड को अंदर माना जाता है
एक अनंत दो-पूरक प्रतिनिधित्व (यानी, संकेत-अनंत तक विस्तारित), के साथ
राइट शिफ्ट साइन-इसके बाएं ऑपरेंड का विस्तार।

=============

<= >= < >
संबंधपरक संकारक।

=============

== != समानता संचालक।

=============
अंत में, घटती प्राथमिकता के क्रम में:

और बिटवाइज़ और। नकारात्मक ऑपरेंड को अनंत दो-पूरक में माना जाता है
प्रतिनिधित्व (यानी, संकेत-अनंत तक विस्तारित)।

^ बिटवाइज एक्सओआर। बिटवाइज़ AND के अनुसार नकारात्मक ऑपरेंड।

| बिटवाइज़ या. बिटवाइज़ AND के अनुसार नकारात्मक ऑपरेंड।

&& शॉर्ट-सर्किट तार्किक और।

|| शॉर्ट-सर्किट तार्किक या।

इ ? ई : ई
सशर्त अभिव्यक्ति: यदि पहली अभिव्यक्ति तार्किक रूप से सत्य है, तो मान दूसरा है
अभिव्यक्ति, अन्यथा तीसरा.

कांटा ई एक धागा बनाएं (और लौटाएं)। विवरण के लिए नीचे थ्रेड देखें।

= += -= *= /= //= %= **= <<= >>= ^= &= |=
असाइनमेंट ऑपरेटर. बाएँ हाथ की ओर असाइन करने योग्य होना चाहिए। x = y समकक्ष है
सेवा मेरे x = x y

ई , ई दाहिने हाथ की अभिव्यक्ति लौटाता है।

प्रकार


Nickle का प्रकार घोषणा सिंटैक्स अधिक दृढ़ता से ``बाएं'' संस्करण जैसा दिखता है
सी सिंटैक्स की तुलना में जावा सिंटैक्स। मूलतः, एक प्रकार में निम्न शामिल हैं:

पाली पूर्णांक तर्कसंगत वास्तविक स्ट्रिंग निरंतरता शून्य
भाषा का एक आधार प्रकार। प्रकार शून्य वास्तव में केवल कुछ निश्चित क्षेत्रों में ही प्रयोग योग्य है
संदर्भ, विशेष रूप से फ़ंक्शन रिटर्न। इसे वर्तमान में ``इकाई'' प्रकार के रूप में कार्यान्वित किया गया है
अला एमएल, और इस प्रकार सी की तुलना में इसका व्यवहार थोड़ा अलग है। टाइप पॉली है
अन्य सभी प्रकारों का सुपरटाइप (यानी, इसका उपयोग स्थैतिक प्रकार को रोकने के लिए किया जा सकता है)।
जाँच), और अधिकांश स्थितियों में डिफ़ॉल्ट प्रकार है जहाँ किसी प्रकार को प्रकट होने की आवश्यकता नहीं होती है।

फ़ाइल सेमाफोर थ्रेड
इसके अलावा अंतर्निहित आधार प्रकार, लेकिन फ़ाइल और थ्रेड एडीटी का अभिन्न अंग: नीचे देखें।

अधिक मेरे बारे में प्रकार:

Nickle बहुरूपी डेटा का समर्थन करता है: जैसे ही एक अभिव्यक्ति का मूल्यांकन किया जाता है, एक डेटा प्रकार चुना जाता है
परिणाम के अनुकूल. किसी भी Nickle ऑब्जेक्ट को स्थिर रूप से टाइप किया जा सकता है, जिस स्थिति में सीमा होती है
संकलन समय पर उल्लंघनों को त्रुटियों के रूप में चिह्नित किया जाएगा। बहुरूपी चर और कार्य
निर्दिष्ट डेटा प्रकार पर प्रतिबंध न लगाएं; यह सभी के लिए डिफ़ॉल्ट प्रकार है
वस्तुओं।

पॉली यह सभी डेटाटाइप्स के मिलन का वर्णन करता है। इस प्रकार वाले एक वेरिएबल में शामिल हो सकते हैं
कोई डेटा मान.

int मनमाना परिशुद्धता पूर्णांक।

तर्कसंगत
मनमाना परिशुद्धता तर्कसंगत संख्याएँ।

वास्तविक मनमाना घातांक परिशुद्धता फ़्लोटिंग पॉइंट संख्याएँ। जितनी गणनाएँ नहीं हो सकतीं
बिल्कुल तर्कसंगत संख्याओं के रूप में निष्पादित किया जाए, Nickle गैर-सटीक लागू करता है
फ़्लोटिंग पॉइंट के लिए अपने स्वयं के मशीन-स्वतंत्र प्रतिनिधित्व का उपयोग करके अंकगणित
नंबर. अंतर्निहित फ़ंक्शन imprecise(n) 256 बिट्स के साथ एक वास्तविक संख्या उत्पन्न करता है
संख्या n से परिशुद्धता की, जबकि अशुद्धि(n,p) p के साथ एक वास्तविक संख्या उत्पन्न करती है
परिशुद्धता के टुकड़े.

टी[] एक या अधिक आयामों की टी प्रकार की एक सरणी। कोई शून्य-आयामी नहीं हैं
निकल में सरणियाँ।

टी[*] प्रकार टी का एक आयामी सरणी। सी के विपरीत, किसी सरणी का आयाम कभी नहीं होता है
Nickle में इसके प्रकार का हिस्सा। इसके अलावा, ऐरे और पॉइंटर्स असंबंधित प्रकार हैं
निकल.

टी[*,*,...,*]
T प्रकार की दो या अधिक आयामी सारणी। सितारे ``*'' वैकल्पिक नहीं हैं। जैसा
पिछले पैराग्राफ स्पष्ट करते हैं, ``T[]'' एक शून्य-आयामी सरणी नहीं है।

टी[ई,ई,...,ई]
परिभाषा संदर्भों में, किसी सरणी के प्रत्येक आयाम के लिए पूर्णांक मान दिए जा सकते हैं
प्रसंग। ये पूरी तरह से मूल्य-निर्माण उद्देश्यों के लिए हैं, और इसका हिस्सा नहीं हैं
प्रकार। एक सरणी प्रकार केवल आधार प्रकार और आयामों की संख्या से निर्धारित होता है
सरणी का।

T0() T0(T,T,...,T)
एक फ़ंक्शन रिटर्निंग प्रकार T0। एक फ़ंक्शन 0 या अधिक तर्क स्वीकार करता है।

T0() T0(T,T,...,T ...)
एक फ़ंक्शन शून्य या अधिक आवश्यक तर्क स्वीकार करता है, साथ ही एक मनमानी संख्या भी
वैकल्पिक तर्क. तीन बिंदुओं (इलिप्सिस) का दूसरा क्रम वाक्यविन्यास है, नहीं
मेटासिंटैक्स: विवरण के लिए वैरार्ग फ़ंक्शंस का विवरण देखें।

*टी प्रकार के स्थान के लिए टीए सूचक। Nickle में सूचक अंकगणित केवल पर काम करता है
सरणियों के सूचक: सूचक सही प्रकार का होना चाहिए, और कभी भी भटक नहीं सकता
सीमा के बाहर। एक सूचक या तो किसी स्थान की ओर इंगित कर सकता है या शून्य (0) हो सकता है। के रूप में
सी, ``*'' की प्राथमिकता ``[]'' या ``()'' की प्राथमिकता से कम है: उपयोग करें
आवश्यकतानुसार कोष्ठक।

संरचना {टी नाम; टी नाम; ...}
दिए गए नाम और प्रकार के फ़ील्ड वाली एक संरचना। प्रकार T वैकल्पिक हैं: in
इनके अभाव में क्षेत्र का प्रकार पाली होता है।

संघ {टी नाम; टी नाम; ...}
दिए गए प्रकारों का एक ``असंगठित संघ''। यह वैरिएंट रिकॉर्ड प्रकार की तरह है
पास्कल का या सी यूनियन प्रकार की तुलना में एमएल का डेटाटाइप: नाम के टैग हैं
दिया गया प्रकार, जिनमें से बिल्कुल एक निश्चित समय पर दिए गए मान पर लागू होता है।

(टी) समूहीकरण के लिए कोष्ठक।

टाइपडेफ़:

C की तरह, typedef स्टेटमेंट के साथ नए प्रकार के नाम बनाए जा सकते हैं। वाक्यविन्यास है
टाइपडेफ टी टाइपनेम;
जहाँ T एक Nickle प्रकार है। परिणामी टाइपनेम का उपयोग कहीं भी किया जा सकता है जहां किसी प्रकार की अपेक्षा की जाती है।

मान


निकल के आधार प्रकार के मूल्य अपेक्षा के अनुरूप हैं। ऊपर स्थिरांक के लिए सिंटैक्स देखें।
फ़ाइल, सेमाफोर और निरंतरता प्रकार के मान वर्तमान में केवल कॉल द्वारा ही बनाए जा सकते हैं
अंतर्निहित कार्य: इस प्रकार का कोई निकल स्थिरांक मौजूद नहीं है।

जैसा कि ऊपर TYPES में बताया गया है, Nickle के पास कई प्रकार के ``संरचित मूल्य'' हैं: सरणियाँ,
फ़ंक्शन, संकेतक, संरचनाएं और असंयुक्त संघ। इन सभी में कुछ न कुछ समानता है
गुण। जब बनाया जाता है, तो सभी घटक मान अप्रारंभीकृत होते हैं (जब तक कि अन्यथा न हो)।
निर्दिष्ट)। अप्रारंभीकृत मान का उपयोग करने के प्रयासों के परिणामस्वरूप या तो संकलन-समय आएगा
त्रुटि या रनटाइम अपवाद।

सरणी:

[ई] ई तत्वों के साथ एक (शून्य-आधारित) सरणी बनाता है। ई गैर-नकारात्मक होना चाहिए।

[ई] {वी,वी,...,वी}
ई तत्वों के साथ एक सरणी बनाता है, जिसे बनाम से प्रारंभ किया जाता है। यदि बहुत कम हैं
इनिशियलाइज़र, शेष तत्व अप्रारंभीकृत रहेंगे।

[ई] {वी,वी,...,वी...}
दूसरा दीर्घवृत्त (तीन बिंदु) वाक्यविन्यास है, मेटासिंटैक्स नहीं। E के साथ एक सरणी बनाएं
तत्व. सरणी में पहले तत्वों को Vs के अनुसार प्रारंभ किया जाएगा,
किसी भी शेष तत्व को अंतिम V के समान मान प्राप्त होता है। यह वाक्यविन्यास
नीचे दिए गए किसी भी ऐरे इनिशियलाइज़र के साथ स्पष्ट रूप से उपयोग किया जा सकता है।

[*]{वी,वी,...,वी}
बिल्कुल इनिशियलाइज़र के समान तत्वों के साथ एक आरंभीकृत सरणी बनाता है। वहाँ
कम से कम एक प्रारंभकर्ता होना चाहिए.

[ई,ई,...,ई] [*,*,...,*]
बहुआयामी सारणियाँ बनाता है। पूर्णांक अभिव्यक्तियाँ और "*" को मिश्रित नहीं किया जा सकता: a
सरणी के आयाम पूरी तरह से या तो परिभाषा द्वारा निर्दिष्ट या अनिर्दिष्ट हैं।
इन सरणियों को आरंभीकृत भी बनाया जा सकता है: इनिशियलाइज़र के लिए अगला पैराग्राफ देखें
वाक्य - विन्यास।

(टी[ई]) (टी[ई,ई,...,ई]) (टी[ई]){ई,ई,...,ई}

(टी[ई,ई,...,ई]){{ई,...},...,{ई,...}}
प्रकार टी के सरणियाँ बनाने के लिए वैकल्पिक वाक्यविन्यास। प्रारंभिक, घुंघराले ब्रेसिज़ में,
वैकल्पिक हैं. आरंभकर्ताओं की संख्या दिए गए से कम या उसके बराबर होनी चाहिए
प्रत्येक आयाम में तत्वों की संख्या. बहुआयामी सरणियों के लिए, अतिरिक्त घुंघराले
इनिशियलाइज़र में प्रति आयाम ब्रेसिज़ आवश्यक हैं; यह C से भिन्न है, जहां वे हैं
वैकल्पिक हैं।

(टी[*]){ई,ई,...,ई} (टी[*,*,...,*]){{ई,...},...,{ई,... }}
प्रत्येक आयाम का आकार अधिकतम संख्या द्वारा दिए जाने के साथ, प्रकार T की सरणियाँ बनाता है
उस आयाम में किसी भी उपसरणी में प्रारंभकर्ता।

सूचक:

0 शून्य सूचक, उन संदर्भों में जहां एक सूचक की आवश्यकता होती है।

&V &A[E,E,...,E] &S.N
दिए गए वेरिएबल, ऐरे तत्व या संरचना सदस्य के लिए एक पॉइंटर बनाता है।
सूचक का प्रकार *T होगा, जहाँ T इंगित की गई वस्तु का प्रकार है।

*पी सूचक पी द्वारा इंगित मूल्य। इसे सी के रूप में देखा या संशोधित किया जा सकता है।

कार्य:

(टी func(){S;S;...S;}) (T func(T नाम,T नाम,...T नाम){S;S;...S;})
फ़ंक्शन अभिव्यक्ति: शून्य या अधिक औपचारिक पैरामीटर वाले फ़ंक्शन को दर्शाता है
दिए गए प्रकार और नाम, दिए गए परिणाम प्रकार को लौटाते हैं। फ़ंक्शन बॉडी दी गई है
घुंघराले-ब्रेस-संलग्न कथन सूची द्वारा। सभी प्रकार वैकल्पिक हैं, और डिफ़ॉल्ट हैं
पाली. जैसा कि ऊपर उल्लेख किया गया है, फ़ंक्शंस सख्ती से कॉल-दर-वैल्यू हैं: विशेष रूप से, सरणियाँ
और संरचनाओं को संदर्भित करने के बजाय कॉपी किया जाता है।

टी फ़ंक्शन नाम(टी नाम,टी नाम,...,टी नाम){एस;एस;...एस;}
शून्य या अधिक तर्कों वाले फ़ंक्शन को परिभाषित करता है। सिंथैटिक शुगर के लिए
T(T,T,...T) नाम = (T func(T नाम,T नाम,...T नाम){S;S;...S;});

टी फ़ंक्शन नाम(टी नाम, टी नाम ...)
यहां दीर्घवृत्त वाक्यविन्यास है, मेटासिंटैक्स नहीं: यदि अंतिम औपचारिक तर्क a
फ़ंक्शन के बाद तीन बिंदु होते हैं, फ़ंक्शन को अधिक वास्तविक के साथ कॉल किया जा सकता है
औपचारिकों की तुलना में. सभी ``अतिरिक्त'' वास्तविक को औपचारिक सरणी में पैक किया गया है
दिया गया नाम, और अंतिम तर्क के वैकल्पिक प्रकार T के विरुद्ध टाइपचेक किया गया
(डिफ़ॉल्ट पॉली)।

संरचनाएं:

(संरचना {टी नाम; टी नाम; ...टी नाम; }){नाम = ई; नाम = ई; ...नाम=ई;}
एक संरचित प्रकार का मान बनाएँ। नामित फ़ील्ड को दिए गए से प्रारंभ किया गया है
मान, शेष अप्रारंभीकृत के साथ। जैसा कि संकेत दिया गया है, आरंभीकरण लेबल द्वारा होता है
सी की तरह स्थितीय के बजाय।

संघ:

(संघ { टी नाम; टी नाम; ...टी नाम; }.नाम) ई
दिए गए यूनियन प्रकार, .name द्वारा दिए गए वैरिएंट और मान का एक मान बनाएं
ई द्वारा दिया गया ई. नाम के साथ टाइप-संगत होना चाहिए।

कथन


कथन का सिंटैक्स बहुत हद तक C से मिलता-जुलता है। कुछ अतिरिक्त सिंटैक्स भी दिए गए हैं
Nickle की अतिरिक्त कार्यक्षमता का समर्थन करने के लिए जोड़ा गया।

इ; अभिव्यक्ति का मूल्यांकन करता है.

{एस ... एस}
संलग्न कथनों को क्रम से निष्पादित करता है।

यदि (ई) एस
बुनियादी सशर्त.

यदि (ई) एस
सशर्त निष्पादन.

अन्यथा एस सामान्य वाक्यविन्यास और शब्दार्थ के साथ अन्य की अनुमति है। विशेष रूप से, कोई अन्य बांधता है
नवीनतम लागू if() या twixt() के लिए।

जबकि (ई) एस
लूप के दौरान सी-शैली।

एस करते समय (ई);
सी-स्टाइल डू लूप।

(ऑप्ट-ई; ऑप्ट-ई; ऑप्ट-ई) एस के लिए
लूप के लिए सी-शैली।

स्विच (ई) {केस ई: एस-लिस्ट केस ई: एस-लिस्ट ... डिफ़ॉल्ट: एस-लिस्ट }
सी-स्टाइल केस स्टेटमेंट। केस अभिव्यक्तियों का स्थिर होना आवश्यक नहीं है
अभिव्यक्तियाँ, लेकिन मनमानी हो सकती हैं। स्विच का मूल्यांकन करने वाला पहला मामला
तर्क लिया जाता है, अन्यथा यदि मौजूद है तो डिफ़ॉल्ट, अन्यथा स्विच बॉडी को छोड़ दिया जाता है।

ट्विक्स्ट(ऑप्ट-ई; ऑप्ट-ई) एस

twixt(opt-E; opt-E) S अन्यथा S
यदि पहला तर्क अभिव्यक्ति सत्य का मूल्यांकन करती है, तो twixt() का मुख्य भाग और फिर
दूसरे तर्क अभिव्यक्ति का मूल्यांकन किया जाएगा. यदि पहला तर्क अभिव्यक्ति
गलत का मूल्यांकन करता है, अन्यथा कथन मौजूद होने पर निष्पादित किया जाएगा। अन्यथा
संपूर्ण twixt() कथन छोड़ दिया जाएगा।

Twixt() कथन गारंटी देता है कि ये सभी घटनाएँ निर्दिष्ट समय में घटित होंगी
आदेश इस बात पर ध्यान दिए बिना कि किस तरीके से twixt() दर्ज किया गया है (बाहर से) या बाहर निकाला गया है,
अपवाद, निरंतरता और विराम सहित। (जावा के ``अंततः'' खंड से तुलना करें।)

एस का प्रयास करें;

प्रयास करें S कैच नाम (T नाम, ...) { S; ... };

प्रयास करें S कैच नाम (T नाम, ...) { S; ... } ... ;
पहले कथन एस को निष्पादित करें। यदि निष्पादन के दौरान कोई अपवाद उठाया जाता है, और
नाम कैच ब्लॉक में नाम से मेल खाता है, कैच में औपचारिक मापदंडों को बांधें
अपवाद के वास्तविक मापदंडों को ब्लॉक करें, और कैच के मुख्य भाग को निष्पादित करें
अवरोध पैदा करना। प्रति प्रयास एकाधिक कैच ब्लॉक हो सकते हैं। कानूनी होते हुए भी शून्य कैच है
अपेक्षाकृत बेकार. कैच ब्लॉक के पूरा होने के बाद, निष्पादन जारी रहता है
कोशिश खंड. अन्य चीज़ों की तरह, एक कैच नवीनतम लागू प्रयास से जुड़ा होता है-
कैच ब्लॉक.

नाम बढ़ाएँ(नाम, नाम, ..., नाम)
नामित अपवाद को शून्य या अधिक तर्कों के साथ उठाएँ।

; शून्य कथन

तोड़ना; निकटतम संलग्नक for/do/while/switch/twixt कथन का निष्पादन बंद करें।
ट्विक्स्ट स्टेटमेंट के बाहर निकलते ही लीव एक्सप्रेशन निष्पादित हो जाएगा।

जारी रखने के लिए;
निकटतम संलग्नक के सशर्त परीक्षण के लिए सीधे शाखा/करें/जबकि
बयान।

वापसी ई;
निकटतम एन्क्लोजिंग फ़ंक्शन से मान E लौटाएँ।

नामस्थान:

Java और C++ की तरह Nickle की एक धारणा है नाम स्थान, आंशिक रूप से नामों का एक संग्रह
प्रतिबंधित दृश्यता. Nickle में, नेमस्पेस इसके साथ बनाए जाते हैं नाम स्थान आदेश।

ऑप्ट-पी नेमस्पेस एन { एस ... }
कथन S में परिभाषित सभी नामों को N नामक नामस्थान में रखता है
वैकल्पिक क्वालीफायर पी कीवर्ड सार्वजनिक हो सकता है, लेकिन सावधान रहें: यह केवल इंगित करता है
कि नाम N स्वयं वर्तमान दायरे में कहीं और दिखाई देता है, और इसमें कुछ भी नहीं है
नामस्थान के अंदर वस्तुओं की दृश्यता से संबंधित।

नेमस्पेस N { S ... } का विस्तार करें
दिए गए नेमस्पेस एन को फिर से खोलें, और इसे सार्वजनिक के रूप में परिभाषित नामों के साथ विस्तारित करें
दिए गए कथन एस.

नेमस्पेस के अंदर परिभाषित नाम नेमस्पेस के बाहर अदृश्य होते हैं जब तक कि वे न हों
सार्वजनिक कीवर्ड के साथ योग्य हैं। सार्वजनिक नामों का संदर्भ a का उपयोग करके किया जा सकता है
पथ संकेतन:
नेमस्पेस::नेमस्पेस::...::नेमस्पेस::नाम
दिए गए नाम को संदर्भित करता है जैसा कि नामस्थान के दिए गए सेट के अंदर परिभाषित किया गया है।
डबल-कोलन सिंटैक्स दुर्भाग्यपूर्ण है, क्योंकि यह अर्थ की तुलना में थोड़ा अलग है
C++, लेकिन सभी अच्छे प्रतीकों को लिया गया, और इसे एक विशेषता माना जाता है
नेमस्पेस विभाजक संरचना ऑपरेटर से वाक्यात्मक रूप से भिन्न है। में
जावा, उदाहरण के लिए, वाक्यांश
नाम.नाम.नाम
वाक्यात्मक रूप से अस्पष्ट है: मध्य नाम या तो एक संरचना या एक हो सकता है
नाम स्थान।

आयात एन;
नाम N को एक नामस्थान को संदर्भित करना चाहिए: इस नामस्थान में सभी सार्वजनिक नाम हैं
वर्तमान दायरे में लाया गया (परस्पर विरोधी नामों को हटा दिया गया)।

भवन


Nickle इसमें मानक फ़ंक्शंस का एक संग्रह बनाया गया है। इनमें से कुछ C में लिखे गए हैं,
लेकिन कई निकले में लिखे गए हैं। फ़ंक्शंस के कई संग्रह अंतर्निहित से जुड़े हुए हैं
डेटाप्रकार: उनके नामस्थान, उनके प्रकारों के साथ, ADT के रूप में देखे जाने चाहिए।

उच्चे स्तर का बिल्टिन्स:

इंट प्रिंटफ (स्ट्रिंग एफएमटी, पॉली आर्ग्स...)
फ़ाइल::fprintf(stdout, fmt, args...) को कॉल करता है और उसका परिणाम लौटाता है।

स्ट्रिंग फ़ंक्शन मिलता है ()
File::fgets(stdin) को कॉल करता है और उसका परिणाम लौटाता है।

स्ट्रिंग फ़ंक्शन स्कैनफ़ (स्ट्रिंग एफएमटी, *पॉली आर्ग्स...)
फ़ाइल::vfscanf(stdin, fmt, args) को कॉल करता है और उसका परिणाम देता है।

स्ट्रिंग फ़ंक्शन vscanf (स्ट्रिंग fmt, (*पॉली)[*] args)
फ़ाइल::vfscanf(stdin, fmt, args) को कॉल करता है और उसका परिणाम देता है।

वास्तविक अस्पष्ट(तर्कसंगत मूल्य)
ऊपर वास्तविक प्रकार की चर्चा देखें।

वास्तविक अशुद्धि(तर्कसंगत मूल्य, int prec)
ऊपर वास्तविक प्रकार की चर्चा देखें।

int string_to_integer(स्ट्रिंग s)

int atoi(स्ट्रिंग एस)
तर्क s एक हस्ताक्षरित अंक स्ट्रिंग है, और परिणाम पूर्णांक है
प्रतिनिधित्व करता है. यदि स्ट्रिंग s वाक्यात्मक रूप से हेक्साडेसिमल, ऑक्टल, बाइनरी, या है
स्पष्ट आधार-10 स्थिरांक, इसे इस प्रकार मानें।

int string_to_integer(स्ट्रिंग s, int आधार)

int atoi(स्ट्रिंग एस, int आधार)
दिए गए आधार में s को अंकों की एक श्रृंखला के रूप में मानें। 0 का आधार बिना किसी आधार के कार्य करता है
तर्क। अन्यथा, स्ट्रिंग में बेस स्पेसिफिकेशन सिंटैक्स को नजरअंदाज कर दिया जाता है।

पूर्णांक पुचर(पूर्णांक सी)
File::putc(c, stdout), और का उपयोग करके दिए गए वर्ण को मानक आउटपुट पर रखें
उसका परिणाम वापस करो.

पूर्णांक नींद(पूर्णांक एमएसईसी)
वर्तमान थ्रेड को कम से कम एमएसईसी मिलीसेकेंड के लिए निलंबित करने का प्रयास करें। 1 पर लौटें
शीघ्र वापसी, और अन्यथा 0।

पूर्णांक निकास(पूर्णांक स्थिति)
दिए गए स्टेटस कोड के साथ Nickle से बाहर निकलें। कुछ भी वापस न करें.

पूर्णांक मंद(पाली[*] ए)
एक-आयामी सरणी a को देखते हुए, dim(), a के तत्वों की संख्या लौटाता है।

int[] dims(पाली[] ए)
एक मनमाना सरणी a दिए जाने पर, dims() आकार देते हुए पूर्णांकों की एक सरणी लौटाता है
ए के प्रत्येक आयाम. इस प्रकार, dim(dims(a)) a के आयामों की संख्या है।

*पॉली संदर्भ(पॉली वी)
एक मनमाना मान v दिया गया है, ``बॉक्स'' वह मान भंडारण में रखता है और एक सूचक लौटाता है
डिब्बा।

तर्कसंगत स्ट्रिंग_टू_रियल(स्ट्रिंग एस)

तर्कसंगत एटऑफ़ (स्ट्रिंग एस)
वास्तविक स्थिरांक स्ट्रिंग s को उससे संबंधित वास्तविक संख्या में बदलें।

संख्या पेट (वास्तविक वी)
v का पूर्ण मान लौटाएँ। चुना गया परिणाम प्रकार दिए गए से मेल खाएगा
संदर्भ।

इंट फ़्लोर (वास्तविक वी)
v से कम या उसके बराबर का सबसे बड़ा पूर्णांक लौटाएँ। यदि v एक वास्तविक है तो यह विफल हो जाएगा
और परिशुद्धता बहुत कम है.

इंट सील(वास्तविक वी)
v से बड़ा या उसके बराबर का सबसे छोटा पूर्णांक लौटाएँ। यदि v एक है तो यह विफल हो जाएगा
वास्तविक और परिशुद्धता बहुत कम है।

पूर्णांक प्रतिपादक (वास्तविक वी)
अचूक वास्तविक v का घातांक लौटाएँ।

तर्कसंगत मंटिसा (वास्तविक वी)
0 <= m <= 0.5 के साथ एक परिमेय m के रूप में, सटीक वास्तविक v का मंटिसा लौटाएँ।

पूर्णांक अंश(तर्कसंगत v)
परिमेय संख्या v का अंश लौटाएँ: अर्थात, यदि v = n/d संक्षिप्त रूप में,
वापसी एन.

पूर्णांक विभाजक (तर्कसंगत v)
परिमेय संख्या v का हर लौटाएँ: अर्थात, यदि v = n/d संक्षिप्त रूप में,
वापसी डी.

पूर्णांक परिशुद्धता (वास्तविक वी)
अचूक वास्तविक संख्या के मंटिसा की परिशुद्धता के बिट्स की संख्या लौटाएँ
v.

पूर्णांक चिह्न(वास्तविक वी)
-1 या 1 लौटें क्योंकि v ऋणात्मक या अऋणात्मक है।

int bit_width(int v)
आंतरिक रूप से एब्स(v) को दर्शाने के लिए आवश्यक बिट्स की संख्या लौटाएँ।

int is_int(पाली v)
विधेय टाइप करें.

int is_rational(पाली v)
संख्यात्मक प्रकार के विधेय सम्मिलित हैं: उदाहरण के लिए, तर्कसंगत है(1) रिटर्न 1.

int is_number(पाली v)
विधेय टाइप करें.

int is_string(पॉली वी)
विधेय टाइप करें.

int is_file(पॉली वी)
विधेय टाइप करें.

int is_thread(पाली v)
विधेय टाइप करें.

int is_semafore(पॉली वी)
विधेय टाइप करें.

int is_continuation(पाली v)
विधेय टाइप करें.

int is_array(पॉली वी)
विधेय टाइप करें.

int is_ref(पॉली वी)
प्रकार विधेय: सूचक प्रकार के लिए जाँच करता है। यह यकीनन एक मिसफ़ीचर है, और हो भी सकता है
बदल जाते हैं.

int is_struct(पॉली वी)
विधेय टाइप करें.

int is_func(पॉली वी)
विधेय टाइप करें.

int is_void(पाली v)
विधेय टाइप करें.

int gcd(int p, int q)
p और q का GCD लौटाएँ। परिणाम हमेशा सकारात्मक होता है.

int xor(int a, int b)
ए ^ बी लौटें। यह ज़्यादातर Nickle के पास XOR ऑपरेटर होने से पहले का होल्डओवर है।

पॉली सेटजेएमपी (निरंतरता *सी, पॉली रेटवल)
Setjmp() और longjmp() प्रिमिटिव निरंतरता प्रकार के साथ मिलकर एक बनाते हैं
एडीटी नियंत्रण प्रवाह के लगभग मनमाने हस्तांतरण के लिए उपयोगी है। सेटजम्प() और
longjmp() बिल्टिन C के समान हैं, सिवाय इसके कि longjmp() पर प्रतिबंध है
हमेशा ऊपर की ओर कूदना हटा दिया जाता है(!): setjmp() के माध्यम से सहेजी गई निरंतरता कभी नहीं बनती है
प्रोग्राम जीवनकाल के दौरान अमान्य।

Setjmp() बिल्टिन वर्तमान स्थान और संदर्भ को इसकी निरंतरता में सहेजता है
सूचक तर्क, और फिर अपना दूसरा तर्क लौटाता है।

शून्य longjmp (निरंतरता सी, पाली रेटवल)
Longjmp() बिल्टिन कभी भी कॉल साइट पर वापस नहीं आता है, बल्कि वहां से लौटता है
setjmp() जिसने निरंतरता बनाई, जिसमें वापसी मान दूसरे के बराबर है
longjmp() का तर्क।

स्ट्रिंग प्रॉम्प्ट
शीर्ष-स्तर पर इंटरैक्टिव उपयोग के दौरान मुद्रित प्रॉम्प्ट। डिफ़ॉल्ट ">"। कब
किसी कथन या अभिव्यक्ति के शेष भाग की प्रतीक्षा करना, और डिबगिंग करते समय,
क्रमश। डिफ़ॉल्ट मान ">", "+", और "-" हैं।

स्ट्रिंग प्रॉम्प्ट2
किसी कथन के शेष भाग की प्रतीक्षा करते समय इंटरैक्टिव उपयोग के दौरान मुद्रित संकेत
या अभिव्यक्ति. डिफ़ॉल्ट "+"।

स्ट्रिंग प्रॉम्प्ट3
डिबगिंग के दौरान इंटरैक्टिव उपयोग के दौरान मुद्रित संकेत। गलती करना "- "।

स्ट्रिंग प्रारूप
शीर्ष-स्तरीय मानों को मुद्रित करने के लिए printf() प्रारूप। डिफ़ॉल्ट "%g"।

स्ट्रिंग संस्करण
निकल कार्यान्वयन की संस्करण संख्या वर्तमान में निष्पादित की जा रही है।

स्ट्रिंग निर्माण
वर्तमान में निष्पादित किए जा रहे निकल कार्यान्वयन की निर्माण तिथि, प्रपत्र में
"yyyy/mm/dd", या "?" यदि किसी कारण से निर्माण तिथि अज्ञात है।

फ़ाइल stdin
मानक इनपुट स्ट्रीम से बंधा हुआ।

फ़ाइल stdout
मानक आउटपुट स्ट्रीम से बंधा हुआ।

फ़ाइल stderr
मानक त्रुटि स्ट्रीम से बंधा हुआ।

अपवाद:

कुछ मानक अपवाद पूर्व-घोषित हैं और Nickle द्वारा आंतरिक रूप से उपयोग किए जाते हैं।

अपवाद uninitialized_value(स्ट्रिंग संदेश)
अप्रारंभीकृत मान का उपयोग करने का प्रयास करें.

अपवाद अमान्य_तर्क (स्ट्रिंग संदेश, पूर्णांक तर्क, पाली वैल)
किसी बिल्टइन फ़ंक्शन के आर्ग-वें तर्क में अमान्य मान वैल था।

अपवाद readonly_box(स्ट्रिंग संदेश, पॉली वैल)
केवल पढ़ने योग्य मात्रा के मान को वैल में बदलने का प्रयास करें।

अपवाद अमान्य_अरे_बाउंड्स (स्ट्रिंग संदेश, पॉली ए, पॉली आई)
सूचकांक i पर सरणी a तक पहुंचने का प्रयास सीमा से बाहर है।

अपवाद डिवाइड_बाय_जीरो (स्ट्रिंग संदेश, वास्तविक संख्या, वास्तविक डेन)
den == 0 के साथ संख्या को den से विभाजित करने का प्रयास करें।

अपवाद अमान्य_स्ट्रक्चर_सदस्य (स्ट्रिंग संदेश, पॉली स्ट्रक्चर, स्ट्रिंग नाम)
ऑब्जेक्ट संरचना के सदस्य नाम को संदर्भित करने का प्रयास करें, जो मौजूद नहीं है।

अपवाद अमान्य_बिनोप_मान (स्ट्रिंग संदेश, पॉली arg1, पॉली arg2)
args arg1 और arg2 के साथ एक बाइनरी ऑपरेटर का मूल्यांकन करने का प्रयास करें, जहां कम से कम एक हो
इनमें से कोई भी मान अमान्य है.

अपवाद अमान्य_unop_values ​​(स्ट्रिंग संदेश, पाली arg)
अमान्य तर्क तर्क के साथ एक यूनरी ऑपरेटर का मूल्यांकन करने का प्रयास।

अंतर्निहित नामस्थान:

गणित गणित नाम स्थान में उपलब्ध गणित कार्यों को एक फैशन में कार्यान्वित किया जाता है
सी लाइब्रेरी के साथ संगत होने का इरादा है। कृपया उचित परामर्श लें
अधिक जानकारी के लिए मैनुअल।

असली पाई
की परिधि/व्यास अनुपात का मान बताने वाला सटीक स्थिरांक
256 बिट्स की डिफ़ॉल्ट परिशुद्धता के लिए सर्कल।

संरक्षित वास्तविक ई
प्राकृतिक लघुगणक के आधार का मान देने वाला अचूक स्थिरांक
256 बिट्स की डिफ़ॉल्ट परिशुद्धता। चूंकि ई संरक्षित है, इसलिए इसे इसके माध्यम से संदर्भित किया जाना चाहिए
गणित::ई, वर्णमाला के पांचवें अक्षर का उपयोग करने में होने वाली समस्याओं से बचने के लिए
सर्वोच्च स्तर।

वास्तविक फ़ंक्शन sqrt(वास्तविक v)
v का वर्गमूल लौटाता है।

वास्तविक फ़ंक्शन सीबीआरटी (वास्तविक वी)
v का घनमूल लौटाता है।

वास्तविक फ़ंक्शन ऍक्स्प (वास्तविक वी)
रिटर्न ई**वी.

वास्तविक फ़ंक्शन लॉग (वास्तविक ए)
v लौटाता है जैसे कि e**v == a। यदि कोई गैर-है तो एक अमान्य_तर्क अपवाद फेंकता है
सकारात्मक।

वास्तविक फ़ंक्शन लॉग10(वास्तविक ए)
v लौटाता है जैसे कि 10**v == a। यदि कोई गैर-है तो एक अमान्य_तर्क अपवाद फेंकता है
सकारात्मक।

वास्तविक फ़ंक्शन लॉग2(वास्तविक ए)
v लौटाता है जैसे कि 2**v == a। यदि कोई गैर-है तो एक अमान्य_तर्क अपवाद फेंकता है
सकारात्मक।

वास्तविक फ़ंक्शन pi_value(int prec)
सटीक बिट्स के साथ, किसी वृत्त की परिधि और व्यास का अनुपात लौटाता है
परिशुद्धता का.

वास्तविक कार्य पाप(वास्तविक ए)
किसी दायीं ओर के कोण a के विपरीत भुजा और कर्ण का अनुपात लौटाता है
त्रिकोण, रेडियन में दिया गया है।

वास्तविक फलन cos(वास्तविक a)
किसी दायीं ओर के कोण a के आसन्न भुजा और कर्ण का अनुपात लौटाता है
त्रिकोण, रेडियन में दिया गया है।

शून्य फ़ंक्शन पाप_कॉस(वास्तविक ए, *वास्तविक सिनप, *वास्तविक कॉस्प)
सिनप और कॉस्प द्वारा बताए गए स्थानों में संग्रहीत सिन(ए) और कॉस(ए) के साथ रिटर्न
क्रमश। यदि कोई भी सूचक 0 है, तो उस स्थान पर संग्रहित न करें। शायद
दोनों ट्रिगर फ़ंक्शंस को स्वतंत्र रूप से कॉल करने की तुलना में थोड़ा तेज़।

वास्तविक फलन टैन(वास्तविक ए)
किसी दायीं ओर के कोण a की विपरीत भुजा और आसन्न भुजा का अनुपात लौटाता है
त्रिकोण, रेडियन में दिया गया है। ध्यान दें कि tan(pi/2) वर्तमान में कोई त्रुटि नहीं है: यह होगी
इसके इनपुट की सटीकता पर निर्भर करते हुए एक बहुत बड़ी संख्या लौटाएँ।

वास्तविक फ़ंक्शन असिन (वास्तविक वी)
ए को ऐसे लौटाता है कि पाप(ए) == वी।

वास्तविक फ़ंक्शन एसीओएस (वास्तविक वी)
ऐसे लौटाता है कि cos(a) == v.

वास्तविक फलन atan(वास्तविक v)
ए को इस प्रकार लौटाता है कि tan(a) == v.

वास्तविक फलन atan2(वास्तविक x, y)
ऐसे लौटाता है कि tan(a) == x / y. y == 0 के साथ सही ढंग से व्यवहार करता है।

वास्तविक फ़ंक्शन पाउ (वास्तविक ए, वास्तविक बी)
** ऑपरेटर का कार्यान्वयन।

फ़ाइल नेमस्पेस फ़ाइल फ़ाइल मानों पर संचालन प्रदान करती है।

int फ़ंक्शन fprintf(फ़ाइल f, स्ट्रिंग s, ....)
UNIX stdio लाइब्रेरी fprintf() की तरह, स्वरूपित मानों को फ़ाइल में प्रिंट करें। एफप्रिंटएफ()
और printf() stdio लाइब्रेरी संस्करण का एक उचित उप-सेट स्वीकार करते हैं: %c, %d, %e,
%x, %o, %f, %s, %g अपेक्षा के अनुरूप काम करते हैं, जैसे किसी मान को स्मार्ट-प्रिंट करने के लिए %v करता है। प्रारूप
संशोधित करने के लिए संशोधक को प्रतिशत-चिह्न और प्रारूप पत्र के बीच रखा जा सकता है
स्वरूपण। इनपुट और आउटपुट फ़ॉर्मेटिंग में बहुत सारे ज्ञात बग हैं।

प्रारूप पत्र:

%c को एक छोटे पूर्णांक तर्क (0..255) की आवश्यकता होती है, और ASCII के रूप में प्रारूपित किया जाता है
चरित्र.

%d को एक पूर्णांक तर्क की आवश्यकता होती है, और एक पूर्णांक के रूप में प्रारूपित होता है।

%x को एक पूर्णांक तर्क की आवश्यकता होती है, और आधार-16 (हेक्साडेसिमल) के रूप में प्रारूपित किया जाता है
पूर्णांक।

%o को एक पूर्णांक तर्क की आवश्यकता होती है, और आधार-8 (ऑक्टल) पूर्णांक के रूप में स्वरूपित किया जाता है।

%e के लिए वैज्ञानिक संकेतन में एक संख्या तर्क और प्रारूप की आवश्यकता होती है।

%f को एक संख्या तर्क और निश्चित-बिंदु नोटेशन में प्रारूप की आवश्यकता होती है।

%s को एक स्ट्रिंग तर्क की आवश्यकता होती है, और स्ट्रिंग को शाब्दिक रूप से उत्सर्जित करता है।

%g को एक संख्या की आवश्यकता होती है, और एक सटीक और पठनीय प्रतिनिधित्व चुनने का प्रयास करता है
इसे प्रारूपित करने के लिए।

प्रारूप संशोधक:

अंक सभी प्रारूप वर्णों को इंगित करने वाला एक पूर्णांक प्रारूप संशोधक लेगा
प्रारूपित किए जाने वाले डेटा के लिए प्रारूप फ़ील्ड में रिक्त स्थानों की संख्या।
इस स्थान पर मूल्य सही-सही मुद्रित किया जाएगा।

अंक.अंक
वास्तविक प्रारूपों को इंगित करने वाले पूर्णांक प्रारूप संशोधक की एक जोड़ी लगेगी
फ़ील्ड की चौड़ाई और परिशुद्धता (दशमलव बिंदु के बाद वर्णों की संख्या)।
स्वरूपित मान. कोई भी पूर्णांक छोड़ा जा सकता है.

- अनंत परिशुद्धता को दर्शाने वाला एक परिशुद्धता मान।

* fprintf() का अगला तर्क फ़ील्ड चौड़ाई को इंगित करने वाला एक पूर्णांक है
स्वरूपित मान की सटीकता.

फ़ाइल फ़ंक्शन string_write()
एक फ़ाइल लौटाएँ जो लिखित मानों को एक स्ट्रिंग में एकत्र करती है।

int फ़ंक्शन बंद करें (फ़ाइल f)
फ़ाइल f बंद करें और सफलता का संकेत लौटाएँ।

int फ़ंक्शन फ्लश (फ़ाइल f)
फ़ाइल f के बफ़र्स को फ्लश करें और सफलता का संकेत लौटाएँ।

int फ़ंक्शन getc(फ़ाइल f)
फ़ाइल f से अगला अक्षर प्राप्त करें और उसे वापस कर दें।

पूर्णांक फ़ंक्शन अंत (फ़ाइल एफ)
यदि फ़ाइल f EOF पर है तो सत्य लौटाता है, अन्यथा ग़लत लौटाता है।

पूर्णांक फ़ंक्शन त्रुटि (फ़ाइल एफ)
यदि फ़ाइल f पर कोई त्रुटि लंबित है, तो सत्य लौटाता है, अन्यथा ग़लत लौटाता है।

पूर्णांक फ़ंक्शन क्लियर_त्रुटि (फ़ाइल एफ)
फ़ाइल f पर लंबित त्रुटियों को साफ़ करता है, और सफलता का संकेत देता है।

फ़ाइल फ़ंक्शन स्ट्रिंग_रीड(स्ट्रिंग एस)
एक वर्चुअल फ़ाइल लौटाता है जिसकी सामग्री स्ट्रिंग s है।

स्ट्रिंग फ़ंक्शन स्ट्रिंग_स्ट्रिंग (फ़ाइल एफ)
फ़ाइल f में पहले लिखी गई स्ट्रिंग लौटाएँ, जो होनी चाहिए थी
string_read() या string_write() द्वारा बनाया गया। अन्य फ़ाइलों पर व्यवहार वर्तमान में है
अपरिभाषित

फ़ाइल फ़ंक्शन खुला (स्ट्रिंग पथ, स्ट्रिंग मोड)
दिए गए मोड स्ट्रिंग के साथ दिए गए पथ पर फ़ाइल खोलें, ala UNIX stdio fopen()।
अनुमत मोड stdio में इस प्रकार हैं: "r", "w", "x", "r+", "w+" और "x+"।

पूर्णांक फ़ंक्शन fputc(पूर्णांक c, फ़ाइल f)
आउटपुट फ़ाइल f में वर्ण c को आउटपुट करें, और सफलता का संकेत लौटाएँ।

पूर्णांक फ़ंक्शन ungetc(पूर्णांक c, फ़ाइल f)
अक्षर c को इनपुट फ़ाइल f पर वापस दबाएं, और एक संकेत लौटाएँ
सफलता.

पूर्णांक फ़ंक्शन सेटबफ (फ़ाइल एफ, पूर्णांक एन)
फ़ाइल f से जुड़े बफ़र का आकार n पर सेट करें, और n लौटाएँ।

स्ट्रिंग फ़ंक्शन fgets (फ़ाइल f)
फ़ाइल f से इनपुट की एक पंक्ति प्राप्त करें, और परिणामी स्ट्रिंग लौटाएँ।

फ़ाइल फ़ंक्शन पाइप (स्ट्रिंग पथ, स्ट्रिंग [*] argv, स्ट्रिंग मोड)
दिए गए पथ पर प्रोग्राम प्रारंभ करें, एक फ़ाइल लौटाएं जो a का एक छोर है
दी गई प्रक्रिया के लिए "पाइप"। मोड तर्क पाइप से पढ़ने के लिए "आर" हो सकता है या
पाइप पर लिखने के लिए "w"। Argv तर्क स्ट्रिंग्स की एक सरणी है
प्रोग्राम में पारित किए जाने वाले तर्क, पारंपरिक रूप से argv[0] के साथ
कार्यक्रम का नाम।

इंट फ़ंक्शन प्रिंट (फ़ाइल एफ, पॉली वी, स्ट्रिंग एफएमटी, इंट बेस, इंट चौड़ाई, इंट प्रीसी, स्ट्रिंग
भरना)
दिए गए आधार, चौड़ाई, सटीक और भरण के साथ एफएमटी प्रारूप में फ़ाइल एफ में मान वी प्रिंट करें।
File::fprintf() द्वारा आंतरिक रूप से उपयोग किया जाता है;

int फ़ंक्शन fscanf(फ़ाइल f, स्ट्रिंग fmt, *पॉली आर्ग्स...)
सरणी आर्ग द्वारा इंगित स्थानों को फ़ाइल f से लिए गए मानों से भरें
स्ट्रिंग एफएमटी के अनुसार। प्रारूप विनिर्देशक UNIX stdio scanf() के समान हैं:
"%d", "%e", "%f", "%c" और "%s" विनिर्देशक अपेक्षित के साथ समर्थित हैं
संशोधक

int फ़ंक्शन vfscanf (फ़ाइल f, स्ट्रिंग fmt, (*पॉली)[*] args)
फ़ाइल f, प्रारूप fmt, और तर्कों की सरणी args, fscanf() को देखते हुए
उचित रूप से।

थ्रेड नेमस्पेस थ्रेड प्रोग्रामिंग के लिए उपयोगी विभिन्न ऑपरेशनों का समर्थन करता है
धागे, जो साझा पता स्थान में नियंत्रण का समवर्ती प्रवाह प्रदान करता है।
थ्रेड्स के साथ विशेष वाक्यविन्यास का एक टुकड़ा जुड़ा हुआ है।

कांटा(ई)
एक मनमाना अभिव्यक्ति स्वीकार करता है, और एक नए चाइल्ड थ्रेड में इसका मूल्यांकन करता है।
पैरेंट थ्रेड को फोर्क एक्सप्रेशन के मान के रूप में थ्रेड प्राप्त होता है।

थ्रेड फ़ंक्शंस के शेष भाग काफी मानक हैं।

int फ़ंक्शन किल(थ्रेड सूची...)
सरणी सूची में चल रहे प्रत्येक थ्रेड को मारता है। बिना किसी तर्क के, मार डालता है
वर्तमान में थ्रेड चल रहा है। मारे गए धागों की संख्या लौटाता है।

पूर्णांक फ़ंक्शन ट्रेस (पॉली सूची...)
सरणी सूची में प्रत्येक चल रहे थ्रेड की स्थिति दिखाता है। बिना किसी तर्क के,
डिफ़ॉल्ट निरंतरता का पता लगाता है। ट्रेस किए गए थ्रेड्स की संख्या लौटाता है।

पूर्णांक फ़ंक्शन जारी()
किसी भी बाधित थ्रेड का निष्पादन जारी रखता है, और जारी थ्रेड की संख्या लौटाता है
धागे।

थ्रेड फ़ंक्शन वर्तमान()
वर्तमान थ्रेड लौटाएँ.

पूर्णांक फ़ंक्शन सूची()
वर्तमान में चल रहे थ्रेड को stdout पर रिपोर्ट करता है।

int फ़ंक्शन get_priority(थ्रेड t)
दिए गए थ्रेड की प्राथमिकता की रिपोर्ट करता है।

थ्रेड फ़ंक्शन id_to_thread(int id)
दिए गए आईडी के साथ थ्रेड लौटाता है, यदि पाया जाता है, और अन्यथा 0 देता है।

पॉली फ़ंक्शन जॉइन (थ्रेड टी)
थ्रेड टी के समाप्त होने की प्रतीक्षा करता है, और जो कुछ भी लौटाता है उसे वापस कर देता है।

int फ़ंक्शन set_priority(थ्रेड t, int i)
थ्रेड t की प्राथमिकता को लेवल i पर सेट करने का प्रयास करता है, और नई प्राथमिकता लौटाता है।
बड़ी प्राथमिकताओं का मतलब है अधिक रनटाइम: उच्च प्राथमिकता वाला कार्य हमेशा चलेगा
कम प्राथमिकता वाले कार्य के बजाय। समान उच्चतम प्राथमिकता वाले धागे पूर्व होंगे-
खाली ढंग से बहुकार्य किया गया।

सिकंदरा
सेमाफोर नेमस्पेस सेमाफोर बिल्ट-इन एडीटी पर संचालन को समाहित करता है। ए
सेमाफोर का उपयोग थ्रेड सिंक्रोनाइजेशन के लिए किया जाता है। प्रत्येक सिग्नल() ऑपरेशन पर
सेमाफोर उस सेमाफोर पर wait() करने के लिए सबसे कम-हाल के थ्रेड को जागृत करता है।
प्रतीक्षा प्रक्रियाओं की ``गिनती'' सेमाफोर निर्माण समय पर निर्धारित की जा सकती है।

सेमाफोर फ़ंक्शन नया (इंट सी)
प्रतीक्षा प्रक्रियाओं की प्रारंभिक गिनती c के साथ एक नया सेमाफोर बनाएं। यदि सी है
सकारात्मक, इसका मतलब है कि सी थ्रेड एक ब्लॉक से पहले सेमाफोर पर प्रतीक्षा कर सकते हैं। अगर
सी नकारात्मक है, यह उन थ्रेड्स की गिनती निर्धारित करता है जो सेमाफोर पर प्रतीक्षा कर रहे होंगे
आगे की प्रतीक्षा से पहले अवरोध नहीं होगा.

सेमाफोर फ़ंक्शन नया ()
कॉल सिकंदरा(0) और उसका परिणाम लौटाएँ।

इंट सिग्नल(सेमाफोर एस)
वृद्धि सेमाफोर एस. यदि s गैर-सकारात्मक है, और कुछ थ्रेड s पर अवरुद्ध है,
सबसे कम-हाल ही में अवरुद्ध किए गए थ्रेड को रिलीज़ करें। सफलता पर 1 लौटें.

पूर्णांक प्रतीक्षा(सेमाफोर एस)
डिक्रीमेंट सेमाफोर एस. यदि s नकारात्मक है, तो रिलीज़ होने तक ब्लॉक करें। 1 पर लौटें
सफलता.

पूर्णांक परीक्षण(सेमाफोर एस)
परीक्षण करें कि क्या सेमफोर एस पर wait() वर्तमान थ्रेड को ब्लॉक कर देगा। यदि ऐसा है तो,
0 लौटाएँ। अन्यथा, s घटाने का प्रयास करें, और सफल होने पर 1 लौटाएँ।

स्ट्रिंग स्ट्रिंग नेमस्पेस में स्ट्रिंग ADT पर कुछ बुनियादी ऑपरेशन शामिल हैं।

पूर्णांक फ़ंक्शन लंबाई (स्ट्रिंग एस)
एस में वर्णों की संख्या लौटाता है।

स्ट्रिंग फ़ंक्शन नया (int c)
एक स्ट्रिंग के रूप में एकल वर्ण c लौटाता है।

स्ट्रिंग फ़ंक्शन नया (int cv[*])
सीवी के वर्णों से युक्त एक स्ट्रिंग लौटाता है।

int फ़ंक्शन इंडेक्स (स्ट्रिंग टी, स्ट्रिंग पी)
लक्ष्य स्ट्रिंग t में पैटर्न स्ट्रिंग p का पूर्णांक सूचकांक लौटाता है, या -1 यदि
p, t का उपस्ट्रिंग नहीं है।

स्ट्रिंग फ़ंक्शन सबस्ट्र (स्ट्रिंग एस, इंट आई, इंट एल)
ऑफसेट i (शून्य-) पर वर्ण से शुरू होने वाली स्ट्रिंग एस की सबस्ट्रिंग लौटाता है
आधारित) और कुल एल वर्णों के लिए जारी है। यदि l ऋणात्मक है, तो उपस्ट्रिंग
इसमें सफल होने के बजाय पूर्ववर्ती वर्ण शामिल होंगे।

पीआरएनजी पीआरएनजी नेमस्पेस छद्म-यादृच्छिक संख्या निर्माण और हेरफेर प्रदान करता है।
कोर जनरेटर RC4 स्ट्रीम सिफर जनरेटर है, जो उचित रूप से बूटस्ट्रैप किया गया है। यह
उचित मूल्य पर क्रिप्टोग्राफ़िक रूप से सुरक्षित छद्म-यादृच्छिक बिट्स की एक स्ट्रीम प्रदान करें
क़र्ज़ चुकाने की लागत। (लेकिन सावधान रहें, आरंभीकरण कुछ महंगा है।)

शून्य फ़ंक्शन srandom(int s)
बीज के रूप में (मनमाने ढंग से बड़े) पूर्णांक का उपयोग करके जनरेटर को प्रारंभ करें।

शून्य फ़ंक्शन dev_srandom(int nbits)
कुछ उचित से प्राप्त एन्ट्रापी के nbits बिट्स का उपयोग करके जनरेटर को प्रारंभ करें
एन्ट्रापी स्रोत. UNIX सिस्टम पर, यह स्रोत /dev/urandom है। और अधिक मांग रहा हूं
सिस्टम की प्रारंभिक एन्ट्रापी या तो बूटस्ट्रैपिंग की ओर ले जा सकती है (जैसा कि UNIX पर है)
या लटकने के लिए, इसलिए सावधानी से उपयोग करें।

इंट फ़ंक्शन रैंडबिट्स (इंट एन)
एक n लौटाता है-बिट छद्म-यादृच्छिक संख्या, सीमा में 0..(2**एन)-1. चीजों के लिए उपयोगी
आरएसए की तरह.

int फ़ंक्शन randint(int n)
श्रेणी में एक छद्म-यादृच्छिक संख्या लौटाता है 0..एन-1.

शून्य फ़ंक्शन शफ़ल(*(पॉली[*]) ए)
सरणी a का एक कुशल इन-प्लेस ट्रू शफ़ल (cf Knuth) निष्पादित करता है।

आदेश
जैसा कि नीचे बताया गया है, कमांड नेमस्पेस का उपयोग शीर्ष-स्तरीय कमांड द्वारा किया जाता है। यह है
यह कभी-कभी अपने आप में उपयोगी भी होता है।

स्ट्रिंग लाइब्रेरी_पथ
इसमें वर्तमान लाइब्रेरी खोज पथ, निर्देशिकाओं की एक कोलन-पृथक सूची शामिल है
लाइब्रेरी फ़ाइलों की खोज की जाएगी।

int फ़ंक्शन अपरिभाषित (स्ट्रिंग नाम)
शीर्ष-स्तरीय अपरिभाषित आदेश लागू करता है। स्ट्रिंग नाम से दर्शाया गया नाम हटाएँ
नेमस्पेस से. इससे नाम की सभी दृश्यमान परिभाषाएँ हट जाती हैं।

int फ़ंक्शन अपरिभाषित (स्ट्रिंग[*] नाम)
नामस्थान से सरणी नामों में से प्रत्येक नाम को हटा दें। यह सब हटा देता है
प्रत्येक नाम की दृश्यमान परिभाषाएँ।

पूर्णांक फ़ंक्शन हटाएं (स्ट्रिंग नाम)
शीर्ष-स्तरीय कमांड से दिए गए स्ट्रिंग नाम के साथ कमांड को हटाने का प्रयास करें
सूची बनाएं और सफल होने पर 1 लौटाएं।

int फ़ंक्शन लेक्स_फ़ाइल (स्ट्रिंग पथ)
दिए गए पथ पर फ़ाइल को Nickle कोड का वर्तमान स्रोत बनाने का प्रयास करें, और
सफल होने पर 1 लौटाएँ। ध्यान दें कि इसमें फ़ाइल प्रभावी रूप से ``शामिल'' है
इसे संसाधित की जाने वाली फ़ाइलों के ढेर पर धकेलना।

int फ़ंक्शन लेक्स_लाइब्रेरी (स्ट्रिंग फ़ाइल नाम)
जैसे कि lex_file(), लेकिन द्वारा दी गई निर्देशिकाओं को खोजता है पुस्तकालय_पथ परिवर्तनशील
दिए गए फ़ाइल नाम वाली पहली फ़ाइल के लिए।

int फ़ंक्शन लेक्स_स्ट्रिंग (स्ट्रिंग कोड)
स्ट्रिंग कोड में निहित निकल कोड को अगला इनपुट बनाने का प्रयास करें।

int फ़ंक्शन संपादित करें (स्ट्रिंग[*] नाम)
शीर्ष-स्तरीय संपादन आदेश लागू करता है। सरणी में नाम एक पथ हैं
नेमस्पेस नाम प्रतीक नाम की ओर ले जाते हैं, जो अंतिम है।

int फ़ंक्शन नया (स्ट्रिंग नाम, पॉली फंक)
फ़ंक्शन func को शीर्ष-स्तरीय कमांड स्ट्रिंग नाम से बांधता है: यानी, इसे इसका हिस्सा बनाता है
शीर्ष स्तरीय कमांड शब्दावली।

int फ़ंक्शन new_names (स्ट्रिंग नाम, पॉली फ़ंक)
फ़ंक्शन func को शीर्ष-स्तरीय कमांड स्ट्रिंग नाम से बांधता है: यानी, इसे इसका हिस्सा बनाता है
शीर्ष स्तरीय कमांड शब्दावली। नए() के विपरीत, स्ट्रिंग नाम func को दिए गए हैं
शीर्ष स्तर को स्ट्रिंग नामों की एक सरणी के रूप में या एकल के रूप में बिना मूल्यांकन किए पारित किया जाता है
स्ट्रिंग नाम.

पूर्णांक फ़ंक्शन सुंदर_प्रिंट (फ़ाइल एफ, स्ट्रिंग [*] नाम)
शीर्ष-स्तरीय प्रिंट कमांड लागू करता है। प्रत्येक पारित नाम स्ट्रिंग को देखा जाता है
ऊपर और संबंधित कोड फ़ाइल एफ पर मुद्रित किया गया।

इंट फ़ंक्शन डिस्प्ले (स्ट्रिंग एफएमटी, पॉली वैल)
एफएमटी प्रारूप में मान वैल प्रदर्शित करने के लिए प्रिंटफ() का उपयोग करता है।

इतिहास
Nickle एक शीर्ष-स्तरीय मूल्य इतिहास बनाए रखता है, जो कमांड-लाइन के सहायक के रूप में उपयोगी है
गणना करते समय संपादन। हिस्ट्री नेमस्पेस में इस तक पहुंचने के लिए फ़ंक्शन शामिल हैं
इतिहास.

इंट फ़ंक्शन शो (स्ट्रिंग एफएमटी)
इतिहास के शीर्ष-स्तरीय कमांड को बिना किसी तर्क के लागू करता है। नवीनतम दिखाएँ
प्रारूप एफएमटी के साथ इतिहास मूल्य।

इंट फ़ंक्शन शो (स्ट्रिंग एफएमटी, इंट काउंट)
एक तर्क के साथ इतिहास शीर्ष-स्तरीय कमांड को कार्यान्वित करता है। अंतिम गिनती दिखाओ
प्रारूप एफएमटी के साथ इतिहास मूल्य।

इंट फ़ंक्शन शो (स्ट्रिंग एफएमटी, इंट प्रथम, इंट लास्ट)
इतिहास शीर्ष-स्तरीय कमांड को दो तर्कों के साथ कार्यान्वित करता है।

पॉली फ़ंक्शन इंसर्ट (पॉली वैल)
इतिहास सूची में वैल डालें, और इसे वापस लौटाएँ।

के बारे में
कई ऑपरेटिंग सिस्टमों में ``पर्यावरण चर'' की कुछ धारणा होती है
नेमस्पेस में इनमें हेरफेर करने के लिए फ़ंक्शन शामिल हैं।

int फ़ंक्शन चेक (स्ट्रिंग नाम)
यदि दिए गए नाम वाला वेरिएबल वातावरण में है, तो 1 लौटाता है, और 0 लौटाता है
अन्यथा।

स्ट्रिंग फ़ंक्शन प्राप्त करें (स्ट्रिंग नाम)
के साथ पर्यावरण चर के मान को पुनः प्राप्त करने और वापस करने का प्रयास करता है
प्रदत्त नाम। यदि वेरिएबल उपलब्ध नहीं है तो एक अमान्य_तर्क अपवाद फेंकता है।

int फ़ंक्शन अनसेट (स्ट्रिंग नाम)
दिए गए नाम के साथ पर्यावरण चर को अनसेट करने का प्रयास करता है, और एक लौटाता है
सफलता का संकेत.

स्ट्रिंग फ़ंक्शन सेट (स्ट्रिंग नाम, स्ट्रिंग मान)
दिए गए नाम के साथ पर्यावरण चर को दिए गए मान पर सेट करने का प्रयास,
और सफलता का संकेत देता है।

कमानों


Nickle के पास आदेशों का एक सेट है जो शीर्ष स्तर पर दिया जा सकता है।

निकेल से बाहर निकलें।

पूर्णांक स्थिति कोड ई के साथ ई से बाहर निकलें निकलें।

अपरिभाषित नाम {,NAME}
इन नामों को सिस्टम से हटा दें.

लोड ई स्ट्रिंग नाम ई द्वारा दी गई फ़ाइल लोड करें।

पुस्तकालय ई
स्ट्रिंग नाम ई द्वारा दी गई लाइब्रेरी लोड करें। NICKLEPATH की चर्चा देखें
नीचे पर्यावरण में पर्यावरण चर, और की चर्चा
Command::library_path ऊपर।

E # E बेस expr1 में expr2 प्रिंट करें।

नाम छापें
NAME द्वारा दर्शाए गए ऑब्जेक्ट का स्वरूपित संस्करण प्रदर्शित करें। टिप्पणियाँ और मूल
गठन खो गया है। यदि NAME एक वेरिएबल है, तो प्रकार के साथ-साथ मान भी प्रिंट करें।

नाम संपादित करें
नामित ऑब्जेक्ट पर $EDITOR को आमंत्रित करें, और संपादन के परिणामों को फिर से शामिल करें।
यह फ़ंक्शंस के साथ सबसे उपयोगी है।

इतिहास
सबसे हाल ही में मुद्रित 10 मान प्रदर्शित करें। उन तक पहुंचा जा सकता है $n जहां n
इस सूची में मान के दाईं ओर प्रदर्शित संख्या है।

इतिहास E
ई नवीनतम इतिहास मान प्रदर्शित करें।

इतिहास E,E
पहले पूर्णांक ई से दूसरे तक इतिहास मान प्रदर्शित करें।

डिबगर


जब कोई हैंडल न किया गया अपवाद निष्पादन के दौरान शीर्ष स्तर पर पहुंच जाता है, तो उपयोगकर्ता को एक डैश प्राप्त होता है
संकेत, यह दर्शाता है कि डिबग मोड सक्रिय है। इस मोड में, कमांड-लाइन वातावरण
वह है जिसमें हैंडल न किया गया अपवाद उठाया गया था। इसके अलावा कई डिबगिंग
उपयोगकर्ता के लिए आदेश उपलब्ध हैं:

ट्रेस वर्तमान स्थिति दिखाने वाला एक स्टैक बैकट्रेस प्राप्त करें, जैसा कि जीडीबी व्हेयर कमांड के साथ होता है।

ऊपर स्टैक को ऊपर ले जाएं (यानी, शीर्ष-स्तरीय अभिव्यक्ति की ओर) अला जीडीबी।

नीचे स्टैक को नीचे ले जाएं (यानी, वर्तमान संदर्भ की ओर) अला जीडीबी।

हो गया डिबगिंग मोड छोड़ें, निष्पादन छोड़ें।

इसके अलावा, डिबग नेमस्पेस को डिबगिंग मोड में स्कोप किया गया है। यह प्राथमिक रूप से है
Nickle को डिबग करने में ही उपयोग किया जा सकता है।

इकट्ठा ()
कचरा संग्रहकर्ता चलाएँ.

डंप(फ़ंक्शन)
फ़ंक्शन के लिए संकलित बाइट कोड प्रिंट करें।

वातावरण


संपादक संपादन कमांड द्वारा उपयोग किया जाने वाला संपादक, ऊपर दिए गए कमांड में वर्णित है।

निकलर्क
उपयोगकर्ता की .nicklerc फ़ाइल का स्थान, जिसे शुरुआत में लोड किया जाएगा
यदि संभव हो तो निकेल निष्पादन।

यदि NICKLERC सेट नहीं है तो HOME का उपयोग उपयोगकर्ता के .nicklerc को खोजने के लिए किया जाता है।

निकलपथ
एक कोलन-पृथक पथ जिसके तत्व निकल कोड वाली निर्देशिकाएं हैं।
लाइब्रेरी कमांड और ऊपर वर्णित -l ध्वज, फ़ाइल नाम के लिए इस पथ को खोजें
दी गई फ़ाइल से मिलान करना। इस चर की अनुपस्थिति में डिफ़ॉल्ट लाइब्रेरी पथ
/usr/share/nickle है।

निकलस्टार्ट
फ़ाइल का फ़ाइल नाम जिसे Nickle स्टार्टअप पर बूटस्ट्रैप के रूप में लोड किया जाना चाहिए।
इस वेरिएबल की अनुपस्थिति में डिफ़ॉल्ट लोड करना है
/usr/share/nickle/buildin.5c.

उदाहरण


एक उदाहरण (से लिया गया) bc मैनुअल:

वास्तविक फलन घातांक(वास्तविक x) {
वास्तविक ए = 1;
इंट बी = 1;
वास्तविक s = 1;
int i = 1;
जबकि (1) {
ए = ए * एक्स;
बी = बी * मैं;
वास्तविक सी = ए/बी;
यदि (abs(c) < 1e-6)
वापसी एस;
एस = एस + सी;
मैं + +;
}
}

घातीय फ़ंक्शन e ** x और के अनुमानित मान की गणना करने के लिए एक फ़ंक्शन को परिभाषित करता है

(i = 1; i < 10; i++) के लिए
प्रिंटफ़ ("%g\n", प्रतिपादक (i));

पहले दस पूर्णांकों के घातीय फ़ंक्शन के अनुमानित मान प्रिंट करता है।

VERSION


यह दस्तावेज़ निकल के संस्करण 1.99.2, साथ ही कुछ नई सुविधाओं का वर्णन करता है। वह था
निकेल के संस्करण 2.77 के साथ वितरित किया गया।

onworks.net सेवाओं का उपयोग करके ऑनलाइन निकल का उपयोग करें


फ्री सर्वर और वर्कस्टेशन

विंडोज और लाइनेक्स एप डाउनलोड करें

लिनक्स कमांड

Ad




×
विज्ञापन
❤️यहां खरीदारी करें, बुक करें या खरीदें - कोई शुल्क नहीं, इससे सेवाएं निःशुल्क बनी रहती हैं।