Julia Programming Language 1.8 የተለቀቀ

የጁሊያ 1.8 ፕሮግራሚንግ ቋንቋ መለቀቅ አለ፣ እንደ ከፍተኛ አፈጻጸም፣ ለተለዋዋጭ ትየባ ድጋፍ እና ለትይዩ ፕሮግራሞች አብሮ የተሰሩ መሳሪያዎችን በማጣመር። የጁሊያ አገባብ ለ MATLAB ቅርብ ነው፣ የተወሰኑ ንጥረ ነገሮችን ከ Ruby እና Lisp በመዋስ። የሕብረቁምፊ ማጭበርበር ዘዴ ፐርልን የሚያስታውስ ነው። የፕሮጀክት ኮድ በ MIT ፈቃድ ስር ተሰራጭቷል።

የቋንቋው ዋና ባህሪያት፡-

  • ከፍተኛ አፈጻጸም፡ ከፕሮጀክቱ ዋና ግቦች አንዱ ከC ፕሮግራሞች ጋር ቅርበት ያለው አፈጻጸም ማሳካት ነው። የጁሊያ ማቀናበሪያ በኤልኤልቪኤም ፕሮጀክት ሾል ላይ የተመሰረተ እና ለብዙ ዒላማ መድረኮች ቀልጣፋ የሀገር በቀል ማሽን ኮድ ያመነጫል።
  • የተለያዩ የፕሮግራም አወቃቀሮችን ይደግፋል፣ ነገር-ተኮር እና ተግባራዊ ፕሮግራሚንግ አካላትን ጨምሮ። መደበኛው ቤተ-መጽሐፍት ከሌሎች ነገሮች በተጨማሪ ለተመሳሳይ I/O፣ የሂደት ቁጥጥር፣ ምዝግብ ማስታወሻ፣ መገለጫ እና የጥቅል አስተዳደር ተግባራትን ይሰጣል።
  • ተለዋዋጭ ትየባ፡ ቋንቋው ከስክሪፕት ፕሮግራም ቋንቋዎች ጋር ለሚመሳሰሉ ለተለዋዋጭ ዓይነቶች ግልጽ የሆነ ትርጉም አያስፈልገውም። በይነተገናኝ ሁነታ ይደገፋል;
  • ዓይነቶችን በግልፅ የመግለጽ አማራጭ ችሎታ;
  • ለቁጥር ስሌት፣ ለሳይንሳዊ ስሌት፣ ለማሽን መማር እና ለመረጃ እይታ ተስማሚ የሆነ አገባብ። ለብዙ አሃዛዊ የውሂብ አይነቶች እና ስሌቶች ትይዩ መሳሪያዎች ድጋፍ.
  • ያለ ተጨማሪ ንብርብሮች ከ C ቤተ-መጽሐፍት በቀጥታ ተግባራትን የመጥራት ችሎታ።

በጁሊያ 1.8 ውስጥ ዋና ለውጦች፡-

  • አዲስ ቋንቋ ባህሪያት
    • ሊለወጥ የሚችል መዋቅር መስኮች አሁን እንዳይቀየሩ ለመከላከል እና ማመቻቸትን ለመፍቀድ እንደ ቋሚዎች ሊገለጹ ይችላሉ።
    • ማብራሪያዎችን ይተይቡ ወደ ዓለም አቀፍ ተለዋዋጮች ሊታከሉ ይችላሉ።
    • ባዶ n-ልኬት ድርድሮች በካሬ ቅንፎች ውስጥ ብዙ ሴሚኮሎን በመጠቀም ሊፈጠሩ ይችላሉ፣ ለምሳሌ "[;;;]" 0x0x0 ድርድር ይፈጥራል።
    • ብሎኮችን ይሞክሩ አሁን እንደ አማራጭ ሌላ ብሎክ ሊኖረው ይችላል ፣ ይህም ምንም ስህተቶች ካልተጣሉ ከዋናው አካል በኋላ ወዲያውኑ ይከናወናል።
    • @inline እና @noinline በተግባራዊ አካል ውስጥ ሊቀመጡ ይችላሉ፣ ይህም የማይታወቅ ተግባርን እንዲገልጹ ያስችልዎታል።
    • @inline እና @noinline አሁን በጥሪ ጣቢያ ውስጥ ባለ ተግባር ላይ ሊተገበሩ ወይም ተጓዳኝ የተግባር ጥሪዎች እንዲካተቱ (ወይም እንዳይካተቱ) ማስገደድ ይችላሉ።
    • ∀፣ ∃ እና ∄ እንደ መለያ ቁምፊዎች ተፈቅዶላቸዋል።
    • ለዩኒኮድ 14.0.0 መግለጫ ተጨማሪ ድጋፍ።
    • ሞጁል(፡ ስም፣ ሐሰት፣ ሐሰት) ዘዴ ሞጁል ለመፍጠር ጥቅም ላይ ሊውል ይችላል ስሞችን ያልያዘ፣ ቤዝ ወይም ኮር የማያስመጣ እና ለልሹ ማጣቀሻ የሌለው።
  • የቋንቋ ለውጦች
    • አዲስ የተፈጠሩ የተግባር ነገሮች (@spawn፣ @async፣ ወዘተ) አሁን ከወላጅ ተግባር ሲፈጠሩ ከወላጅ ተግባር ስልቶች world_age አላቸው፣ ይህም ለተመቻቸ አፈፃፀም ያስችላል። የቀደመው የማግበር አማራጭ የBase.invokelatest ዘዴን በመጠቀም ይገኛል።
    • የዩኒኮድ ያልተመጣጠነ ባለሁለት አቅጣጫ ቅርጸት መመሪያዎች መርፌዎችን ለማስወገድ በሕብረቁምፊዎች እና አስተያየቶች ውስጥ የተከለከሉ ናቸው።
    • Base.ifelse አሁን ከተገነባው ይልቅ እንደ አጠቃላይ ተግባር ይገለጻል፣ ይህም ጥቅሎች ፍቺውን እንዲያራዝሙ ያስችላቸዋል።
    • ለአለምአቀፍ ተለዋዋጭ የሚሰጠው እያንዳንዱ ምደባ አሁን መጀመሪያ ወደ መለወጥ ጥሪ (ማንኛውንም ፣ x) ወይም ለመቀየር (ቲ ፣ x) አለምአቀፍ ተለዋዋጭ ዓይነት T ነው ተብሎ ከተገለጸ። ዓለም አቀፍ ተለዋዋጮችን ከመጠቀምዎ በፊት የማይለዋወጥ መለወጥ (ማንኛውም) መሆኑን ያረጋግጡ። , x) === x ሁሌም እውነት ነው፣ አለበለዚያ ወደ ያልተጠበቀ ባህሪ ሊያመራ ይችላል።
    • አብሮገነብ ተግባራት አሁን ከአጠቃላይ ተግባራት ጋር ተመሳሳይ ናቸው እና ዘዴዎችን በመጠቀም በፕሮግራም ሊዘረዘሩ ይችላሉ።
  • የማጠናከሪያ/የአሂድ ጊዜ ማሻሻያዎች
    • የማስነሻ ጊዜ በግምት 25% ቀንሷል።
    • በኤልኤልቪኤም ላይ የተመሰረተው አቀናባሪ ከአሂድ ጊዜ ቤተ-መጽሐፍት ተለይቷል ወደ አዲስ ቤተ-መጽሐፍት ሊብጁሊያ-ኮድገን። በነባሪነት ተጭኗል, ስለዚህ በተለመደው አጠቃቀም ወቅት ምንም ለውጦች ሊኖሩ አይገባም. ማጠናቀር በማይፈልጉ ማሰማራቶች (ለምሳሌ ሁሉም አስፈላጊ ኮድ አስቀድሞ የተቀናጀበት የስርዓት ምስሎች) ይህ ቤተ-መጽሐፍት (እና የኤልኤልቪኤም ጥገኝነቱ) በቀላሉ ሊቀር ይችላል።
    • ሁኔታዊ ዓይነት ማመሳከሪያ አሁን ክርክርን ወደ ዘዴ በማለፍ ይቻላል. ለምሳሌ ለ Base.ifelse(isa(x, Int)፣ x, 0) ይመለሳል ::Int የ x አይነት ባይታወቅም።
    • SROA (ስካላር የድምር መተካት) ተሻሽሏል፡የግጥፊልድ ጥሪዎችን በቋሚ አለምአቀፍ መስኮች ያስወግዳል፣ተለዋዋጭ አወቃቀሮችን ባልታወቁ መስኮች ያስወግዳል፣የጎጆ የመስክ ጥሪዎችን አፈጻጸም እና አያያዝን ያሻሽላል።
    • ኢንፌክሽኑን ይተይቡ የተለያዩ ተፅዕኖዎችን ይከታተላል-የጎንዮሽ ጉዳቶች እና አለመውረድ። የማያቋርጥ ስርጭት ግምት ውስጥ ይገባል, ይህም የማጠናቀር-ጊዜ አፈፃፀምን በእጅጉ ያሻሽላል. በአንዳንድ ሁኔታዎች፣ ለምሳሌ፣ ወደ ተግባራት የሚደረጉ ጥሪዎች ሊሰመሩ የማይችሉ ነገር ግን ውጤቱን የማይነኩ በሂደት ጊዜ ይጣላሉ። የውጤቶች ህጎች Base.@assume_effects ማክሮን በመጠቀም በእጅ ሊገለበጡ ይችላሉ።
    • ቅድመ ማጠናቀር (ከግልጽ የቅድመ ማጠናቀር መመሪያዎች ወይም ከተገለጹ የስራ ጫናዎች ጋር) አሁን የበለጠ በአይነት የተገለጹ ኮድ ይቆጥባል፣ ይህም ለመጀመሪያ ጊዜ ፈጣን አፈፃፀም ያስከትላል። በጥቅልዎ የሚፈለጉት ማንኛውም አዲስ ዘዴ/ አይነት ውህዶች፣ እነዚያ ዘዴዎች የተገለጹበት ምንም ይሁን ምን፣ የጥቅልዎ በሆነ ዘዴ ከተጠሩ አሁን በቅድመ ማጠናቀር ፋይል ውስጥ መሸጎጥ ይችላሉ።
  • የትእዛዝ መሾመር አማራጮች ለውጦች
    • የ@inbounds መግለጫዎችን የመከታተል ነባሪ ባህሪ አሁን በ "--check-bounds=Yes|No|auto" ውስጥ የራስ-አማራጭ ነው።
    • የሥርዓት ምስል ሲፈጥሩ ሰነዶችን፣ የምንጭ መገኛ መረጃን እና የአካባቢ ተለዋዋጭ ስሞችን ለማስወገድ አዲስ "--strip-metadata" አማራጭ።
    • አዲስ አማራጭ "--strip-ir" አቀናባሪው የስርዓቱን ምስል በሚገነባበት ጊዜ የመካከለኛውን ምንጭ ኮድ ውክልና እንዲያስወግድ ለማስቻል። የተገኘው ምስል የሚሰራው "-- compile=all" ጥቅም ላይ ከዋለ ወይም ሁሉም አስፈላጊው ኮድ አስቀድሞ ከተጠናቀረ ብቻ ነው።
    • በፋይል ስም ምትክ የ "-" ቁምፊ ከተገለጸ, የሚፈፀመው ኮድ ከመደበኛ የግቤት ዥረት ይነበባል.
  • ባለብዙ-ክር ድጋፍ ለውጦች
    • Threads.@threads በነባሪነት አዲሱን የመርሐግብር ምርጫን ይጠቀማል፡ዳይናሚክ፣ይህም ካለፈው ሁነታ የሚለየው ድግግሞሾቹ ለእያንዳንዱ ክር ከመመደብ ይልቅ በተለዋዋጭ በተገኙ የሰራተኛ ክሮች ላይ እንዲዘጋጁ ነው። ይህ ሁነታ በ@spawn እና @threads የጎጆ ቀለበቶችን በተሻለ ሁኔታ ለማሰራጨት ያስችላል።
  • አዲስ የቤተ-መጽሐፍት ተግባራት
    • እያንዳንዱ ስፕሊት (str) ስንጥቅ (str) ብዙ ጊዜ ለማከናወን።
    • allequal(itr) በእንደገና ውስጥ ያሉ ሁሉም ንጥረ ነገሮች እኩል መሆናቸውን ለመፈተሽ።
    • ሃርድሊንክ(src፣dst) ሃርድ ሊንኮችን ለመፍጠር ጥቅም ላይ ሊውል ይችላል።
    • የአቀነባባሪውን ኮር ከተጀመሩት ሂደቶች ጋር ያለውን ዝምድና ለማዘጋጀት setcpuaffinity(cmd፣ cpus)።
    • diskstat(path=pwd()) የዲስክ ስታቲስቲክስን ለማግኘት።
    • አዲስ @የማሳያ ጊዜ ማክሮ እየተገመገመ ያለውን መሾመር እና የ@time ዘገባን ለማሳየት።
    • በስህተት ዱካ ውስጥ ያሉ የስህተት መልዕክቶችን ላላ ግንባታ ለመደገፍ LazyString እና lazy"str" ​​ማክሮ ታክለዋል።
    • በDict እና ሌሎች እንደ ቁልፎች(:: ዲክት)፣ እሴቶች(:: ዲክት) እና አዘጋጅ ያሉ የተውጣጡ ነገሮች ቋሚ መዝገበ ቃላትን ወይም ስብስብን የሚያሻሽሉ ጥሪዎች እስካልሆኑ ድረስ የመድገም ዘዴዎች አሁን በመዝገበ-ቃላት ወይም በስብስብ ሊጠሩ ይችላሉ።
    • @time እና @timev አሁን አማራጭ መግለጫ አላቸው፣ ይህም ለምሳሌ የጊዜ ዘገባዎችን ምንጭ እንዲያብራሩ ያስችልዎታል። @time "ፎን መገምገም" foo()።
    • ክልል እንደ ብቸኛ ቁልፍ ቃል ክርክር ወይም ማቆሚያ ወይም ርዝመት ይወስዳል።
    • ትክክለኛነት እና አቀማመጥ አሁን መሰረትን እንደ ቁልፍ ቃል ይቀበላሉ።
    • የ TCP ሶኬት እቃዎች አሁን የመዝጋት ዘዴን ያቀርባሉ እና የግማሽ ክፍት ሁነታን ይደግፋሉ.
    • ጽንፈኛ አሁን የመግቢያ ክርክር ይቀበላል።
    • Iterators.countfrom ከአሁን ጀምሮ + ዘዴን የሚገልጽ ማንኛውንም ዓይነት ይቀበላል።
    • @time አሁን ከተቀየሩ አይነቶች ጋር ዘዴዎችን ለመደመር የጠፋውን ጊዜ % ይመድባል።
  • መደበኛ የቤተ-መጽሐፍት ለውጦች
    • ዋጋ ያላቸው ቁልፎች አሁን ከአካባቢው ምንም አልተወገዱም addv.
    • Iterators.reverse (እና ስለዚህ የመጨረሻው) እያንዳንዱን መሾመር ይደግፋል.
    • ለተወሰኑ ዓይነቶች ክልሎች የርዝማኔ ተግባር ከአሁን በኋላ የኢንቲጀር የትርፍ ፍሰትን አያረጋግጥም። አዲስ ተግባር፣ የተረጋገጠ_ርዝመት አለ፣ የቢት ማስተላለፊያ መቆጣጠሪያ አመክንዮ ይዟል። አስፈላጊ ከሆነ የክልሉን አይነት ለመገንባት SaferIntegers.jl ይጠቀሙ።
    • Iterators.Reverse ድገም ከተቻለ የእያንዳንዱን ኢንዴክስ መቀልበስን ይተገብራል።
  • የጥቅል አስተዳዳሪ
    • አዲስ ⌃ እና ⌅ ጠቋሚዎች ከጥቅሎች ቀጥሎ በ"pkg>" ሁኔታ አዲስ ስሪቶች ይገኛሉ። ⌅ አዲስ ስሪቶች መጫን እንደማይችሉ ያመለክታል.
    • አዲስ ያለፈበት::የቦል ክርክር ወደ Pkg.status (--oted or -o in REPL ሞድ) ከቀደምት ስሪቶች ሾለ ፓኬጆች መረጃ ለማሳየት።
    • አዲስ compat::Bool ክርክር ወደ Pkg.status (--compat ወይም -c በ REPL ሁነታ) በProject.toml ውስጥ ያሉ ማናቸውንም [compat] ግቤቶችን ለማሳየት።
    • የፕሮጀክት ተኳኋኝነት ግቤቶችን ለማዘጋጀት አዲስ የ"pkg>compat" (እና Pkg.compat) ሁነታ። በ"pkg>compat" ወይም ቀጥታ ሪከርድ ቁጥጥር በ"pkg>Foo 0.4,0.5" በኩል በይነተገናኝ አርታዒን ያቀርባል፣ ይህም የአሁኑን መዝገቦች በትር ማጠናቀቅ ላይ መጫን ይችላል። ማለትም "pkg> compat Fo " የነበረን ግቤት ማረም ለመፍቀድ ወደ "pkg>Foo 0.4,0.5" በቀጥታ ይዘምናል።
    • Pkg አሁን ፓኬጆችን ከጥቅል አገልጋይ ለማውረድ የሚሞክረው አገልጋዩ ጥቅሉን የያዘውን መዝገቡ የሚከታተል ከሆነ ብቻ ነው።
    • Pkg.instantiate አሁን Project.toml ከ Manifest.toml ጋር ሲሰል ማስጠንቀቂያ ይሰጣል። ይህንንም የሚያደርገው በሚፈታበት ጊዜ በማኒፌስት ውስጥ ባለው የፕሮጀክት ዴፕስ እና ኮምፓት መዛግብት (ሌሎች መስኮች ችላ ተብለዋል) በማንፌክተሩ ላይ በመነሳት በፕሮጀክት.toml deps ወይም compat records ላይ የተደረገ ማንኛውም ለውጥ ዳግም ሳይፈታ እንዲገኝ ነው።
    • "pkg> add" ከተጠቀሰው ስም ጋር አንድ ጥቅል ማግኘት ካልቻለ, አሁን ሊጨመሩ የሚችሉ ተመሳሳይ ስሞች ያላቸውን ፓኬጆችን ይጠቁማል.
    • በማኒፌክት ውስጥ የተከማቸ የጁሊያ ሥሪት ከአሁን በኋላ የግንባታ ቁጥሩን አያካትትም፣ ይህም ማለት ጌታው አሁን እንደ 1.9.0-DEV ይጻፋል።
    • የሙከራ ውርጃ "pkg>" አሁን ይበልጥ በወጥነት ተገኝቷል እና በትክክል ወደ REPL ይመለሳል።
  • InteractiveUtils
    • አዲስ @time_ኢምፖርት ማክሮ ፓኬጆችን በማስመጣት ያሳለፈውን ጊዜ እና ጥገኛነታቸውን ሪፖርት ለማድረግ፣የማጠናቀር እና የማጠናቀር ጊዜን እንደ መቶኛ አስመጪ።
  • መስመራዊ አልጀብራ
    • የBLAS ንዑስ ሞዱል አሁን ደረጃ-2 BLAS spr! ተግባራትን ይደግፋል።
    • የLinearAlgebra.jl መደበኛ ቤተ-መጽሐፍት አሁን ከSparseArrays.jl፣ ከምንጭ ኮድ እና ከክፍል ፍተሻ አንፃር ሙሉ በሙሉ ነፃ ነው። በውጤቱም፣ ከLinearAlgebra በመጡ ዘዴዎች ወደ Base ወይም LinearAlgebra ነገሮች በተተገበሩ ጥቅጥቅ ያሉ ድርድሮች (በተዘዋዋሪ) አይመለሱም። በተለይም ይህ ወደሚከተሉት ብልሹ ለውጦች ይመራል ።
      • ልዩ "ስፓርስ" ማትሪክስ (ለምሳሌ ሰያፍ) በመጠቀም ኮንክቴሽን አሁን ጥቅጥቅ ያሉ ማትሪክቶችን ይመለሳሉ; በውጤቱም፣ በንብረት ጥሪዎች የተፈጠሩ የኤስቪዲ ዕቃዎች D1 እና D2 መስኮች አሁን ጥቅጥቅ ያሉ ማትሪክስ ናቸው።
      • ተመሳሳይ(::SpecialSparseMatrix, ::Type, ::Dims) ዘዴ ጥቅጥቅ ያለ ባዶ ማትሪክስ ይመልሳል። በውጤቱም፣ የሁለት፣ የሶስት- እና የተመጣጠነ ባለሶስት ጎንዮሽ ማትሪክስ ምርቶች ጥቅጥቅ ያለ ማትሪክስ እንዲፈጠሩ ያደርጋል። በተጨማሪም፣ ተመሳሳይ ማትሪክቶችን ከሶስት ነጋሪ እሴቶች ጋር መገንባት ከልዩ የ"ስፓርሴ" ማትሪክስ ከ(ያልሆኑ) ማትሪክስ አሁን በ"ዜሮ(::አይነት{ማትሪክስ{T}}))" አልተሳካም።
  • Printf
    • %s እና %c አሁን ስፋቱን ለመቅረጽ የጽሑፍ ስፋት ነጋሪ እሴትን ይጠቀማሉ።
  • ባንድ በኩል የሆነ መልክ
    • የሲፒዩ ጭነት መገለጫ አሁን ክሮች እና ተግባሮችን ጨምሮ ሜታዳታ ይመዘግባል። Profile.print () ማጣሪያን ለማቅረብ ክሮች፣ ተግባሮች ወይም ንዑስ ክሮች/ተግባራት፣ ተግባሮች/ክሮች፣ እና ክር እና የተግባር ክርክሮች እንዲቧደኑ የሚያስችልዎ አዲስ የቡድን ክርክር አለው። በተጨማሪም፣ የአጠቃቀም መቶኛ አሁን እንደ አጠቃላይ ወይም በአንድ ክር ሪፖርት ተደርጓል፣ በእያንዳንዱ ናሙና ውስጥ ክሩ ሾል ፈትቷል ወይም አለመኖሩ ላይ በመመስረት። Profile.fetch() በነባሪ አዲሱን ሜታዳታ ያካትታል። ለኋላ ተኳኋኝነት ከመገለጫ ውሂብ ውጫዊ ተጠቃሚዎች ጋር በማያያዝ ማካተት_meta=falseን በማለፍ ሊገለል ይችላል።
    • አዲሱ ፕሮፋይል.Allocs ሞጁል የማህደረ ትውስታ ምደባዎችን እንዲገልጹ ያስችልዎታል. የእያንዳንዱ የማህደረ ትውስታ ድልድል አይነት እና መጠን ቁልል ይመዘገባል እና የናሙና_ሬት ነጋሪ እሴት የሚዋቀሩ የምደባ ብዛት እንዲዘለል ያስችላል፣ ይህም የአፈጻጸምን ትርፍ ይቀንሳል።
    • የቋሚ ቆይታ ሲፒዩ ፕሮፋይሊንግ አሁን በተጠቃሚው ሊሄድ የሚችለው ተግባራት መጀመሪያ መገለጫውን ሳይጭኑ ነው፣ እና ሪፖርቱ በሚሰራበት ጊዜ ይታያል። በ MacOS እና FreeBSD ላይ ctrl-t ይጫኑ ወይም SIGINFO ይደውሉ። ለሌሎች የመሣሪያ ስርዓቶች፣ SIGUSR1 ን ያግብሩ፣ i.e. % መግደል -USR1 $ julia_pid። ይህ በዊንዶውስ ላይ አይገኝም.
  • መልስ
    • RadioMenu አሁን ለአማራጮች ቀጥተኛ ምርጫ ተጨማሪ የቁልፍ ሰሌዳ አቋራጮችን ይደግፋል።
    • "?(x, y") የሚለው ቅደም ተከተል TAB ን በመጫን በክርክር x, y, .... ሊጠሩ የሚችሉትን ዘዴዎች ሁሉ ያሳያል. y " ፍለጋውን ወደ "MyModule" ይገድባል። TAB ን መጫን ቢያንስ አንድ ነጋሪ እሴት ከየትኛውም የበለጠ የተለየ እንዲሆን ይፈልጋል። ወይም ማናቸውንም ተኳሃኝ ዘዴዎችን ለመፍቀድ ከTAB ይልቅ SHIFT-TAB ይጠቀሙ።
    • አዲሱ አለማቀፋዊ ተለዋዋጭ ስህተት ከመጨረሻው ምላሽ ጋር ካለው የአስ ባህሪ ጋር የሚመሳሰል የቅርብ ጊዜ ልዩ ሁኔታን እንዲያገኙ ያስችልዎታል። ስህተትን ማስገባት ልዩ የሆነውን መረጃ እንደገና ያትማል።
  • SparseArrays
    • የSparseArrays ኮድ ከጁሊያ ማከማቻ ወደ ውጫዊ SparseArrays.jl ማከማቻ ወስደዋል።
    • አዲሱ የማገናኘት ተግባራት sparse_hcat፣ sparse_vcat እና sparse_hvcat የስፓርሴማትሪክሲኤስሲ አይነቱን የግብአት ነጋሪ እሴት ሳይለይ ይመልሳል። LinearAlgebra.jl እና SparseArrays.jl ኮድን ከተለያየ በኋላ ማትሪክስ የማጣበቅ ዘዴን አንድ ለማድረግ ይህ አስፈላጊ ሆነ።
  • የምዝግብ ማስታወሻ
    • መደበኛ የምዝግብ ማስታወሻ ደረጃዎች ከዝቅተኛ ደረጃ በታች፣ አርም፣ መረጃ፣ አስጠንቅቅ፣ ስህተት እና በላይ ማክስደረጃ አሁን ከመደበኛ የምዝግብ ማስታወሻ ቤተ-መጽሐፍት ወደ ውጭ ተልከዋል።
  • ዩኒኮድ
    • የዩኒኮድ እኩልነት ለማረጋገጥ መደበኛ_መደበኛ ተግባር ታክሏል በግልፅ የተለመዱ ሕብረቁምፊዎች ሳይገነቡ።
    • የUnicode.normalize ተግባር አሁን የ charttransform ቁልፍ ቃልን ይቀበላል፣ ይህም ብጁ የቁምፊ ካርታዎችን ለማቅረብ ሊያገለግል ይችላል፣ እና የዩኒኮድ.ጁሊያ_ቻርትራንስፎርም ተግባር የጁሊያ ተንታኝ መለያዎችን መደበኛ ሲያደርግ ጥቅም ላይ የዋለውን ካርታ እንደገና ለማባዛት ቀርቧል።
  • ሙከራ
    • '@test_throws"አንዳንድ መልዕክት" triggers_error()' አሁን የሚታየው የስህተት ጽሁፍ የተለየ አይነት ምንም ይሁን ምን "አንዳንድ መልእክት" እንዳለው ለመፈተሽ ጥቅም ላይ ሊውል ይችላል። መደበኛ መግለጫዎች፣ የሕብረቁምፊ ዝርዝሮች እና ተዛማጅ ተግባራትም ይደገፋሉ።
    • @testset foo() አሁን ከተሰጠ ተግባር የሙከራ ስብስብ ለመፍጠር ጥቅም ላይ ሊውል ይችላል። የፈተና ጉዳይ ስም የሚጠራው ተግባር ስም ነው። የተጠራው ተግባር @test እና ሌሎች የ @testset ፍቺዎችን ሊይዝ ይችላል፣ ወደ ሌሎች ተግባራት የሚደረጉ ጥሪዎችን ጨምሮ፣ ሁሉንም መካከለኛ የፈተና ውጤቶች በሚመዘግብበት ጊዜ።
    • TestLogger እና LogRecord አሁን ከመደበኛ የሙከራ ቤተ-መጽሐፍት ወደ ውጭ ተልከዋል።
  • ተሰራጭቷል
    • SSHManager አሁን የሰራተኛ ክሮች በ csh/tcsh መጠቅለያ በ addprocs() ዘዴ እና በሼል=:csh መለኪያ በኩል ይደግፋል።
  • ሌሎች ለውጦች
    • GC.enable_logging(እውነት) እያንዳንዱን የቆሻሻ አሰባሰብ ሾል በተሰበሰበው ማህደረ ትውስታ ጊዜ እና መጠን ለማስመዝገብ ይጠቅማል።

ምንጭ: opennet.ru

አስተያየት ያክሉ