Julia 1.0

Variables




julia

Variables

जूलिया में एक वैरिएबल, एक वैल्यू से जुड़ा (या बाउंड) नाम है। यह तब उपयोगी होता है जब आप बाद में उपयोग के लिए एक मूल्य (जो आपने कुछ गणित के बाद प्राप्त किया है) संग्रहित करना चाहते हैं। उदाहरण के लिए:

# Assign the value 10 to the variable x
julia> x = 10
10

# Doing math with x's value
julia> x + 1
11

# Reassign x's value
julia> x = 1 + 1
2

# You can assign values of other types, like strings of text
julia> x = "Hello World!"
"Hello World!"

जूलिया नामकरण चर के लिए एक अत्यंत लचीला प्रणाली प्रदान करता है। परिवर्तनीय नाम केस-संवेदी होते हैं, और इसका कोई अर्थ अर्थ नहीं होता (अर्थात, भाषा उनके नामों के आधार पर भिन्न रूप से व्यवहार नहीं करेगी)।

julia> x = 1.0
1.0

julia> y = -3
-3

julia> Z = "My string"
"My string"

julia> customary_phrase = "Hello world!"
"Hello world!"

julia> UniversalDeclarationOfHumanRightsStart = "人人生而自由,在尊严和权利上一律平等。"
"人人生而自由,在尊严和权利上一律平等。"

यूनिकोड नाम (UTF-8 एन्कोडिंग में) की अनुमति है:

julia> δ = 0.00001
1.0e-5

julia> 안녕하세요 = "Hello"
"Hello"

जूलिया आरईपीएल और कई अन्य जूलिया संपादन वातावरण में, आप टैब द्वारा पीछा बैकस्क्स्ड लाटेक्स प्रतीक नाम टाइप करके कई यूनिकोड गणित प्रतीकों को टाइप कर सकते हैं। उदाहरण के लिए, चर नाम δ को टाइप करके \delta - टैब , या यहां तक ​​कि α̂₂ \alpha द्वारा \alpha - टैब - \hat - टैब - \_2 - टैब द्वारा दर्ज किया जा सकता है। (यदि आपको कहीं पर एक प्रतीक मिलता है, उदाहरण के लिए किसी और के कोड में, जिसे आप टाइप करना नहीं जानते हैं, तो REPL मदद आपको बताएगी: बस टाइप ? और फिर प्रतीक को पेस्ट करें।)

जूलिया आपको जरूरत पड़ने पर निर्मित स्थिरांक और कार्यों को फिर से परिभाषित करने देगा (हालांकि संभावित भ्रमों से बचने के लिए यह अनुशंसित नहीं है):

julia> pi = 3
3

julia> pi
3

julia> sqrt = 4
4

हालाँकि, यदि आप पहले से उपयोग में एक अंतर्निहित स्थिर या फ़ंक्शन को फिर से परिभाषित करने की कोशिश करते हैं, तो जूलिया आपको एक त्रुटि देगा:

julia> pi
Ï€ = 3.1415926535897...

julia> pi = 3
ERROR: cannot assign variable MathConstants.pi from module Main

julia> sqrt(100)
10.0

julia> sqrt = 4
ERROR: cannot assign variable Base.sqrt from module Main

अनुमत चर नाम

परिवर्तनीय नामों को एक अक्षर (AZ या az), अंडरस्कोर, या यूनिकोड कोड के एक सबसेट से शुरू करना चाहिए जो 00A0 से अधिक है; विशेष रूप से, यूनिकोड वर्ण श्रेणियां लू / एलएल / एलटी / एलएम / लो / एनएल (पत्र), एससी / तो (मुद्रा और अन्य प्रतीक), और कुछ अन्य अक्षर जैसे अक्षर (जैसे कि स्म गणित प्रतीकों का एक उपसमूह) हैं की अनुमति दी। इसके बाद के अक्षर भी शामिल हो सकते हैं! और अंक (0-9 और श्रेणियों में 0-9 और अन्य अक्षर एनडी / नहीं), साथ ही अन्य यूनिकोड कोड पॉइंट्स: डायसरिटिक्स और अन्य संशोधित अंक (श्रेणियां एमएन / मैक / मी / स्के), कुछ विराम चिह्न कनेक्टर (श्रेणी पीसी), प्रिम्स, और कुछ अन्य पात्र।

+ जैसे ऑपरेटर भी मान्य पहचानकर्ता हैं, लेकिन विशेष रूप से पार्स किए जाते हैं। कुछ संदर्भों में, ऑपरेटरों का उपयोग चर की तरह किया जा सकता है; उदाहरण के लिए (+) अतिरिक्त फ़ंक्शन को संदर्भित करता है, और (+) = f इसे फिर से असाइन करेगा। अधिकांश यूनिकोड infix ऑपरेटर्स (श्रेणी Sm में), जैसे कि are, infix ऑपरेटरों के रूप में पार्स किए गए हैं और उपयोगकर्ता-परिभाषित विधियों के लिए उपलब्ध हैं (जैसे कि आप const ⊗ = kron का उपयोग कर सकते हैं एक infix उत्पाद के रूप में परिभाषित करने के लिए)। ऑपरेटरों को भी संशोधित करने के निशान, primes और उप / सुपरस्क्रिप्ट के साथ प्रत्यय दिया जा सकता है, जैसे +̂ₐ″ को infix ऑपरेटर के रूप में पार्स किया जाता है।

चर के लिए केवल स्पष्ट रूप से अस्वीकृत नाम अंतर्निहित कथन के नाम हैं:

julia> else = false
ERROR: syntax: unexpected "else"

julia> try = "No"
ERROR: syntax: unexpected "="

कुछ यूनिकोड वर्णों को पहचानकर्ताओं के समकक्ष माना जाता है। यूनिकोड संयोजन वर्ण (जैसे, उच्चारण) में प्रवेश करने के विभिन्न तरीकों को समतुल्य माना जाता है (विशेषकर, जूलिया पहचानकर्ता एनएफसी-सामान्य हैं)। यूनिकोड वर्ण ɛ (U + 025B: लैटिन छोटे अक्षर खुले ई) और ode (U + 00B5: माइक्रो साइन) को संगत ग्रीक अक्षरों के बराबर माना जाता है, क्योंकि कुछ इनपुट विधियों के माध्यम से पूर्व आसानी से सुलभ हैं।

स्टाइलिस्ट कन्वेंशन

जबकि जूलिया ने वैध नामों पर कुछ प्रतिबंध लगाए हैं, यह निम्नलिखित सम्मेलनों को अपनाने के लिए उपयोगी हो गया है:

  • चर के नाम कम मामले में हैं।
  • शब्द पृथक्करण को अंडरस्कोर ( '_' ) द्वारा इंगित किया जा सकता है, लेकिन अंडरस्कोर का उपयोग तब तक हतोत्साहित किया जाता है जब तक कि नाम को अन्यथा पढ़ना मुश्किल होगा।
  • Type s और Module s के नाम एक बड़े अक्षर से शुरू होते हैं और शब्द पृथक्करण को अंडरस्कोर के बजाय ऊपरी ऊंट के मामले के साथ दिखाया जाता है।
  • function नाम और macro एस निचले मामले में हैं, बिना अंडरस्कोर के।
  • उनके तर्कों को लिखने वाले फ़ंक्शंस में ऐसे नाम होते हैं जो अंत होते हैं ! । इन्हें कभी-कभी "म्यूटिंग" या "इन-इन-प्लेस" फ़ंक्शन कहा जाता है, क्योंकि उनका उद्देश्य फ़ंक्शन को कॉल करने के बाद अपने तर्कों में परिवर्तन उत्पन्न करना है, न कि केवल एक मूल्य वापस करना।

शैलीगत सम्मेलनों के बारे में अधिक जानकारी के लिए, स्टाइल गाइड देखें।