खोज…


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

  • संगत का उपयोग करना
  • Compat.String
  • Compat.UTF8String
  • @compat f। (x, y)

टिप्पणियों

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

संस्करण संख्या

जूलिया में VersionNumber प्रकार के माध्यम से उजागर होने वाले अर्थ वर्जनिंग का एक अंतर्निहित कार्यान्वयन है।

एक का निर्माण करने के VersionNumber एक शाब्दिक रूप में, @v_str स्ट्रिंग मैक्रो इस्तेमाल किया जा सकता:

julia> vers = v"1.2.0"
v"1.2.0"

वैकल्पिक रूप से, एक VersionNumber कंस्ट्रक्टर को कॉल कर सकता है; ध्यान दें कि कंस्ट्रक्टर पांच तर्कों को स्वीकार करता है, लेकिन पहले को छोड़कर सभी वैकल्पिक हैं।

julia> vers2 = VersionNumber(1, 1)
v"1.1.0"

तुलना संचालकों का उपयोग करके संस्करण संख्याओं की तुलना की जा सकती है, और इस प्रकार हल किया जा सकता है:

julia> vers2 < vers
true

julia> v"1" < v"0"
false

julia> sort([v"1.0.0", v"1.0.0-dev.100", v"1.0.1"])
3-element Array{VersionNumber,1}:
 v"1.0.0-dev.100"
 v"1.0.0"
 v"1.0.1"

संस्करण संख्याओं का उपयोग जूलिया में कई स्थानों पर किया जाता है। उदाहरण के लिए, VERSION स्थिरांक एक VersionNumber :

julia> VERSION
v"0.5.0"

यह आमतौर पर जूलिया संस्करण के आधार पर, सशर्त कोड मूल्यांकन के लिए उपयोग किया जाता है। उदाहरण के लिए, v0.4 और v0.5 पर अलग-अलग कोड चलाने के लिए, कोई भी कर सकता है

if VERSION < v"0.5"
    println("v0.5 prerelease, v0.4 or older")
else
    println("v0.5 or newer")
end

प्रत्येक स्थापित पैकेज वर्तमान संस्करण संख्या के साथ भी जुड़ा हुआ है:

julia> Pkg.installed("StatsBase")
v"0.9.0"

संगतता का उपयोग करना

संगतता . jl पैकेज जूलिया के पुराने संस्करणों के साथ कुछ नई जूलिया सुविधाओं और सिंटैक्स का उपयोग करने में सक्षम बनाता है। इसकी विशेषताएं इसके README पर प्रलेखित हैं, लेकिन उपयोगी अनुप्रयोगों का सारांश नीचे दिया गया है।

0.5.0

एकीकृत स्ट्रिंग प्रकार

जूलिया v0.4 में, कई अलग-अलग प्रकार के तार थे । इस प्रणाली को अत्यधिक जटिल और भ्रमित माना जाता था, इसलिए जूलिया v0.5 में, केवल String प्रकार रहता है। Compat का उपयोग कर की अनुमति देता है String नाम के तहत, संस्करण 0.4 पर प्रकार और निर्माता Compat.String । उदाहरण के लिए, यह v0.5 कोड

buf = IOBuffer()
println(buf, "Hello World!")
String(buf)  # "Hello World!\n"

इस कोड का सीधा अनुवाद किया जा सकता है, जो v0.5 और v0.4 दोनों पर काम करता है:

using Compat
buf = IOBuffer()
println(buf, "Hello World!")
Compat.String(buf)  # "Hello World!\n"

ध्यान दें कि कुछ कैविएट हैं।

  • Compat.String पर, Compat.StringCompat.String बाइटस्ट्रिंग के लिए ByteString , जो Union{ASCIIString, UTF8String} । इस प्रकार, String फ़ील्ड वाले प्रकार स्थिर नहीं होंगे। इन स्थितियों में, Compat.UTF8String की सलाह दी जाती है, क्योंकि इसका अर्थ होगा String V0.5 पर, और UTF8String v0.4 पर, दोनों ठोस प्रकार हैं।
  • Compat.String का उपयोग करने के लिए सावधान रहना होगा। import Compat: String या import Compat: String Compat.String करें import Compat: String , क्योंकि String स्वयं v0.4 पर एक अर्थ है: यह AbstractString लिए एक संक्षिप्त उपनाम है। एक संकेत जो String को गलती से Compat.String बजाय इस्तेमाल किया गया था। String किसी भी बिंदु पर है, तो निम्न चेतावनी दिखाई देती है:
WARNING: Base.String is deprecated, use AbstractString instead.
  likely near no file:0
WARNING: Base.String is deprecated, use AbstractString instead.
  likely near no file:0

कॉम्पैक्ट प्रसारण सिंटैक्स

जूलिया v0.5 broadcast लिए वाक्य रचना चीनी का परिचय देता broadcast । वाक्य रचना

f.(x, y)

broadcast(f, x, y) उतारा जाता है। इस सिंटैक्स का उपयोग करने के उदाहरणों में एक साथ कई संख्याओं का साइन लेना sin.([1, 2, 3]) है।

V0.5 पर, वाक्यविन्यास का सीधा उपयोग किया जा सकता है:

julia> sin.([1.0, 2.0, 3.0])
3-element Array{Float64,1}:
 0.841471
 0.909297
 0.14112 

हालाँकि, यदि हम v0.4 पर भी ऐसा ही प्रयास करते हैं, तो हमें एक त्रुटि मिलती है:

julia> sin.([1.0, 2.0, 3.0])
ERROR: TypeError: getfield: expected Symbol, got Array{Float64,1}

सौभाग्य से, Compat इस नए वाक्यविन्यास को v0.4 से भी उपयोगी बनाता है। एक बार फिर, हम using Compat । इस बार, हमने @compat मैक्रो के साथ अभिव्यक्ति को घेर लिया है:

julia> using Compat

julia> @compat sin.([1.0, 2.0, 3.0])
3-element Array{Float64,1}:
 0.841471
 0.909297
 0.14112 


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow