ජූලියා 1.8 ක්‍රමලේඛන භාෂාව නිකුත් කිරීම

Julia 1.8 ක්‍රමලේඛන භාෂාව නිකුතුව ලබා ගත හැකි අතර, ඉහළ කාර්ය සාධනය, ගතික ටයිප් කිරීම සඳහා සහාය සහ සමාන්තර වැඩසටහන් සඳහා ගොඩනඟන ලද මෙවලම් වැනි ගුණාංග ඒකාබද්ධ කරයි. රූබි සහ ලිස්ප් වෙතින් සමහර මූලද්‍රව්‍ය ණයට ගනිමින් ජූලියාගේ වාක්‍ය ඛණ්ඩය MATLAB වෙත සමීප වේ. තන්තු හැසිරවීමේ ක්‍රමය පර්ල් සිහිගන්වයි. ව්යාපෘති කේතය MIT බලපත්රය යටතේ බෙදා හරිනු ලැබේ.

භාෂාවේ ප්රධාන ලක්ෂණ:

  • ඉහළ කාර්ය සාධනය: ව්‍යාපෘතියේ එක් ප්‍රධාන ඉලක්කයක් වන්නේ C වැඩසටහන් වලට ආසන්න කාර්ය සාධනයක් ලබා ගැනීමයි. ජූලියා සම්පාදකය LLVM ව්‍යාපෘතියේ කාර්යය මත පදනම් වන අතර බොහෝ ඉලක්ක වේදිකා සඳහා කාර්යක්ෂම දේශීය යන්ත්‍ර කේතය ජනනය කරයි;
  • වස්තු-නැඹුරු සහ ක්‍රියාකාරී ක්‍රමලේඛනයේ මූලද්‍රව්‍ය ඇතුළුව විවිධ ක්‍රමලේඛන ආදර්ශ සඳහා සහය දක්වයි. සම්මත පුස්තකාලය වෙනත් දේ අතර, අසමමුහුර්ත I/O, ක්‍රියාවලි පාලනය, ලොග් වීම, පැතිකඩ කිරීම සහ පැකේජ කළමනාකරණය සඳහා කාර්යයන් සපයයි;
  • ගතික ටයිප් කිරීම: භාෂාවට විචල්‍ය සඳහා වර්ගවල පැහැදිලි අර්ථ දැක්වීමක් අවශ්‍ය නොවේ, ක්‍රමලේඛන භාෂා ස්ක්‍රිප්ට් කිරීම හා සමාන වේ. අන්තර්ක්‍රියාකාරී මාදිලිය සහය දක්වයි;
  • වර්ග පැහැදිලිව සඳහන් කිරීමට විකල්ප හැකියාව;
  • සංඛ්‍යාත්මක පරිගණනය, විද්‍යාත්මක පරිගණනය, යන්ත්‍ර ඉගෙනීම සහ දත්ත දෘශ්‍යකරණය සඳහා කදිම වාක්‍ය ඛණ්ඩයකි. ගණනය කිරීම් සමාන්තරකරණය සඳහා බොහෝ සංඛ්‍යාත්මක දත්ත වර්ග සහ මෙවලම් සඳහා සහාය.
  • අතිරේක ස්ථර නොමැතිව C පුස්තකාල වලින් කාර්යයන් කෙලින්ම ඇමතීමේ හැකියාව.

ජූලියා 1.8 හි ප්රධාන වෙනස්කම්:

  • නව භාෂා විශේෂාංග
    • වෙනස් කළ හැකි ව්‍යුහයක ක්ෂේත්‍ර දැන් ඒවා වෙනස් වීම වැළැක්වීමට සහ ප්‍රශස්තකරණයට ඉඩ දීමට නියතයන් ලෙස සටහන් කළ හැක.
    • ගෝලීය විචල්‍යවලට වර්ග විවරණ එක් කළ හැක.
    • හිස් n-මාන අරාවන් හතරැස් වරහන් තුළ අර්ධ කෝල කිහිපයක් භාවිතයෙන් සෑදිය හැක, උදාහරණයක් ලෙස "[;;;]" 0x0x0 අරාවක් නිර්මාණය කරයි.
    • ට්‍රයි බ්ලොක් වලට දැන් විකල්ප වශයෙන් වෙනත් බ්ලොක් එකක් තිබිය හැක, එය ප්‍රධාන කොටසට පසුව දෝෂයක් නොදැමුවහොත් එය ක්‍රියාත්මක වේ.
    • @inline සහ @noinline ඔබට නිර්නාමික ශ්‍රිතයක් සටහන් කිරීමට ඉඩ සලසමින් ශ්‍රිතයක් තුළ තැබිය හැක.
    • @inline සහ @noinline දැන් ඇමතුම් අඩවියක ශ්‍රිතයකට යෙදිය හැකිය හෝ අනුරූප ශ්‍රිත ඇමතුම් ඇතුළත් කිරීමට (හෝ ඇතුළත් නොකිරීමට) බල කිරීමට අවහිර කළ හැක.
    • ∀, ∃ සහ ∄ හඳුනාගැනීමේ අක්ෂර ලෙස ඉඩ දෙනු ලැබේ.
    • යුනිකෝඩ් 14.0.0 පිරිවිතර සඳහා සහය එක් කරන ලදී.
    • Module(:name, false, false) ක්‍රමය මගින් නම් අඩංගු නොවන, Base හෝ Core ආයාත නොකරන සහ තමාටම සඳහනක් අඩංගු නොවන මොඩියුලයක් නිර්මාණය කිරීමට භාවිතා කල හැක.
  • භාෂාවේ වෙනස්කම්
    • අලුතින් සාදන ලද කාර්ය වස්තු (@spawn, @async, ආදිය) දැන් නිර්මාණය කරන විට මාපිය කාර්යයේ ක්‍රම සඳහා ලෝක_වය ඇත, ප්‍රශස්ත ක්‍රියාත්මක කිරීමට ඉඩ සලසයි. පෙර සක්‍රිය කිරීමේ විකල්පය Base.invokelatest ක්‍රමය භාවිතයෙන් ලබා ගත හැක.
    • යුනිකෝඩ් අසමතුලිත ද්විපාර්ශ්වික හැඩතල ගැන්වීමේ විධාන දැන් තන්තු සහ අදහස් එන්නත් කිරීම වැළැක්වීම සඳහා තහනම් කර ඇත.
    • Base.ifelse දැන් නිර්වචනය කර ඇත්තේ බිල්ඩින් එකකට වඩා සාමාන්‍ය ශ්‍රිතයක් ලෙසයි, පැකේජ වලට එහි නිර්වචනය දීර්ඝ කිරීමට ඉඩ සලසයි.
    • ගෝලීය විචල්‍යයක් සඳහා වන සෑම පැවරුමක්ම දැන් ප්‍රථමයෙන් ගෝලීය විචල්‍යය T වර්ගයේ බව ප්‍රකාශ කර ඇත්නම් (ඕනෑම, x) හෝ පරිවර්තනය (T, x) සඳහා ඇමතුමක් හරහා යයි. ගෝලීය විචල්‍යයන් භාවිතා කිරීමට පෙර, වෙනස් නොවන පරිවර්තනය (ඕනෑම දෙයක්) බවට සහතික වන්න. , x) === x සැමවිටම සත්‍ය වේ, එසේ නොමැතිනම් එය අනපේක්ෂිත හැසිරීමකට තුඩු දිය හැකිය.
    • ගොඩනඟන ලද ශ්‍රිත දැන් සාමාන්‍ය ශ්‍රිතවලට සමාන වන අතර ක්‍රමවේද භාවිතයෙන් ක්‍රමලේඛනගත කළ හැක.
  • සම්පාදක/ධාවන කාල වැඩිදියුණු කිරීම්
    • ඇරඹුම් කාලය ආසන්න වශයෙන් 25% කින් අඩු විය.
    • LLVM මත පදනම් වූ සම්පාදකය ධාවන කාල පුස්තකාලයෙන් libjulia-codegen ලෙස නව පුස්තකාලයකට වෙන් කර ඇත. එය පෙරනිමියෙන් පටවනු ලැබේ, එබැවින් සාමාන්‍ය භාවිතයේදී කිසිදු වෙනසක් සිදු නොවිය යුතුය. සම්පාදකයක් අවශ්‍ය නොවන යෙදවුම් වලදී (උදාහරණයක් ලෙස, අවශ්‍ය සියලුම කේත පූර්ව සම්පාදනය කර ඇති පද්ධති රූප), මෙම පුස්තකාලය (සහ එහි LLVM පරායත්තතාවය) සරලව මඟ හැරිය හැක.
    • ක්‍රමයකට තර්කයක් යැවීමෙන් කොන්දේසි සහිත ආකාරයේ අනුමානය දැන් කළ හැක. උදාහරණයක් ලෙස, Base.ifelse(isa(x, Int), x, 0) සඳහා ::Int x වර්ගය නොදන්නා වුවද ලබා දෙයි.
    • SROA (සමස්ථයන්ගේ පරිමාණ ප්‍රතිස්ථාපනය) වැඩි දියුණු කර ඇත: නොනැසී පවතින ගෝලීය ක්ෂේත්‍ර සමඟ Getfield ඇමතුම් ඉවත් කරයි, UNITYALED ක්ෂේත්‍ර සමඟ විකෘති ව්‍යුහයන් ඉවත් කරයි, කාර්ය සාධනය සහ කැදැලි Getfield ඇමතුම් හැසිරවීම වැඩි දියුණු කරයි.
    • වර්ග අනුමානය විවිධ බලපෑම් නිරීක්ෂණය කරයි - අතුරු ආබාධ සහ නොවැටීම. සම්පාදනය-කාල කාර්ය සාධනය සැලකිය යුතු ලෙස වැඩිදියුණු කරන නිරන්තර ප්‍රචාරණය සැලකිල්ලට ගනී. සමහර අවස්ථාවලදී, උදාහරණයක් ලෙස, පේළිගත කළ නොහැකි නමුත් ප්‍රතිඵලයට බලනොපාන ශ්‍රිත සඳහා වන ඇමතුම් ධාවන වේලාවේදී ඉවත දමනු ලැබේ. බලපෑම් සඳහා වන රීති Base.@assume_effects මැක්‍රෝ භාවිතයෙන් අතින් නැවත ලිවිය හැක.
    • Precompilation (පැහැදිලි පූර්ව සම්පාදක විධාන හෝ නිශ්චිත වැඩ බර සමඟ) දැන් වඩාත් ටයිප්-නිර්වචනය කළ කේතය සුරකියි, ප්‍රතිඵලයක් ලෙස පළමු වරට වේගවත් ක්‍රියාත්මක වේ. ඔබගේ පැකේජයට අවශ්‍ය ඕනෑම නව ක්‍රමයක්/වර්ග සංයෝජන, එම ක්‍රම නිර්වචනය කර ඇත්තේ කොතැනක වුවත්, ඒවා ඔබගේ පැකේජයට අයත් ක්‍රමයකින් කැඳවනු ලැබුවහොත්, දැන් ඒවා precompilation ගොනුවේ හැඹිලිගත කළ හැක.
  • විධාන රේඛා විකල්ප වෙත වෙනස්කම්
    • @inbounds ප්‍රකාශන නිරීක්ෂණය සඳහා පෙරනිමි හැසිරීම දැන් "--check-bounds=yes|no|auto" හි ස්වයංක්‍රීය විකල්පය වේ.
    • පද්ධති රූපයක් නිර්මාණය කිරීමේදී docstrings, මූලාශ්‍ර ස්ථාන තොරතුරු සහ ප්‍රාදේශීය විචල්‍ය නම් ඉවත් කිරීමට නව "--strip-metadata" විකල්පය.
    • නව විකල්පය "--strip-ir" මඟින් පද්ධති රූපය තැනීමේදී අතරමැදි මූලාශ්‍ර කේත නිරූපණය ඉවත් කිරීමට සම්පාදකයාට ඉඩ සලසයි. ලැබෙන රූපය "--compile=all" භාවිතා කර ඇත්නම් හෝ අවශ්‍ය සියලුම කේතයන් පෙර සම්පාදනය කර ඇත්නම් පමණක් ක්‍රියා කරයි.
    • ගොනු නාමය වෙනුවට "-" අක්ෂරය සඳහන් කර ඇත්නම්, ක්‍රියාත්මක කළ හැකි කේතය සම්මත ආදාන ප්‍රවාහයෙන් කියවනු ලැබේ.
  • බහු නූල් ආධාරක වෙනස්කම්
    • පෙරනිමියෙන් නූල් මෙම ප්‍රකාරය @spawn සහ @threads සමඟ කැදැලි ලූප වඩා හොඳින් බෙදා හැරීමට ඉඩ සලසයි.
  • නව පුස්තකාල කාර්යයන්
    • split(str) කිහිප වතාවක් ක්‍රියාත්මක කිරීමට eachsplit(str).
    • පුනරාවර්තකයේ ඇති සියලුම මූලද්‍රව්‍ය සමානද යන්න පරීක්ෂා කිරීමට allequal(itr).
    • hardlink(src, dst) දෘඩ සබැඳි සෑදීමට භාවිතා කළ හැක.
    • setcpuaffinity(cmd, cpus) මඟින් ප්‍රොසෙසර හරයේ සම්බන්ධතාවය දියත් කරන ලද ක්‍රියාවලීන්ට සැකසීමට.
    • තැටි සංඛ්‍යාලේඛන ලබා ගැනීමට diskstat(path=pwd()).
    • නව @showtime macro අගය කරනු ලබන රේඛාව සහ @time වාර්තාව යන දෙකම සංදර්ශන කිරීමට.
    • LazyString සහ lazy"str" ​​මැක්‍රෝ එකතු කර ඇත්තේ දෝෂ සහිත මාර්ගවල කම්මැලි ලෙස දෝෂ පණිවිඩ තැනීමට සහාය වීම සඳහා ය.
    • Dict සහ යතුරු(::Dict), අගයන්(::Dict) සහ Set වැනි අනෙකුත් ව්‍යුත්පන්න වස්තු වල සමගාමී ගැටළුවක් නිරාකරණය කර ඇත. ශබ්ද කෝෂය හෝ කට්ටලය වෙනස් කරන ඇමතුම් නොමැති තාක්, ශබ්ද කෝෂයක් හෝ කට්ටලයක් මත පුනරාවර්තන ක්‍රම දැන් හැඳින්විය හැක.
    • @time සහ @timev හට දැන් විකල්ප විස්තරයක් ඇත, උදාහරණයක් ලෙස කාල වාර්තා වල මූලාශ්‍රය විවරණය කිරීමට ඔබට ඉඩ සලසයි. @time "foo ඇගයීම" foo().
    • පරාසය එහි එකම මූල පද තර්කය ලෙස නැවතුම හෝ දිග ගනී.
    • නිරවද්‍යතාවය සහ සැකසුම දැන් මූලික පදයක් ලෙස පදනම පිළිගනී
    • TCP socket objects දැන් Closewrite ක්‍රමයක් සපයන අතර අර්ධ-විවෘත මාදිලිය භාවිතයට සහය දක්වයි.
    • අන්ත දැන් init තර්කයක් පිළිගනී.
    • Iterators.countfrom දැන් + ක්‍රමයක් නිර්වචනය කරන ඕනෑම වර්ගයක් පිළිගනී.
    • @time දැන් වෙනස් කළ වර්ග සමඟ ක්‍රම නැවත සම්පාදනය කිරීමට ගත කළ කාලයෙන් % වෙන් කරයි.
  • සම්මත පුස්තකාල වෙනස්කම්
    • වටිනාකමක් ඇති යතුරු දැන් එකතු කිරීමේදී පරිසරයෙන් කිසිවක් ඉවත් නොකෙරේ.
    • Iterators.reverse (සහ ඒ නිසා අවසාන) එක් එක් පේළියට සහය දක්වයි.
    • ඇතැම් වර්ගවල පරාස සඳහා දිග ශ්‍රිතය තවදුරටත් පූර්ණ සංඛ්‍යා පිටාර ගැලීම සඳහා පරීක්ෂා නොකරයි. නව ශ්‍රිතයක්, checked_length, ඇත; එහි බිට් මාරු පාලන තර්කය අඩංගු වේ. අවශ්‍ය නම්, පරාසයේ වර්ගය තැනීමට SaferIntegers.jl භාවිතා කරන්න.
    • පුනරාවර්තන. ප්‍රතිලෝම පුනරාවර්තකය හැකි නම් එක් එක් දර්ශක ප්‍රතිවර්තනය ක්‍රියාත්මක කරයි.
  • පැකේජ කළමනාකරු
    • නව අනුවාද ලබා ගත හැකි "pkg>" තත්ත්‍වයේ පැකේජ අසල නව ⌃ සහ ⌅ දර්ශක. ⌅ නව අනුවාද ස්ථාපනය කළ නොහැකි බව පෙන්නුම් කරයි.
    • නව යල් පැන ගිය::Bool තර්කය Pkg.status වෙත (--යල් පැන ගිය හෝ REPL ආකාරයෙන් -o) පෙර අනුවාද වලින් පැකේජ පිළිබඳ තොරතුරු පෙන්වීමට.
    • Project.toml හි ඕනෑම [compat] ප්‍රවේශයක් පෙන්වීමට නව compat::Bool තර්කය Pkg.status වෙත (--compat හෝ -c REPL ආකාරයෙන්).
    • ව්‍යාපෘති අනුකූලතා ඇතුළත් කිරීම් සැකසීම සඳහා නව "pkg>compat" (සහ Pkg.compat) මාදිලිය. "pkg>compat" හරහා අන්තර්ක්‍රියාකාරී සංස්කාරකයක් හෝ "pkg>Foo 0.4,0.5" හරහා සෘජු වාර්තා පාලනයක් සපයයි, එමඟින් ටැබ් සම්පූර්ණ කිරීම හරහා වත්මන් වාර්තා පූරණය කළ හැක. එනම්, "pkg> compat Fo" ස්වයංක්‍රීයව "pkg> Foo 0.4,0.5" වෙත යාවත්කාලීන වන අතර එමඟින් පවතින ප්‍රවේශයක් සංස්කරණය කළ හැක.
    • Pkg දැන් උත්සාහ කරන්නේ පැකේජ සේවාදායකයකින් පැකේජ බාගැනීමට සේවාදායකයා විසින් පැකේජය අඩංගු රෙජිස්ට්‍රිය නිරීක්ෂණය කරන්නේ නම් පමණි.
    • Project.toml Manifest.toml සමඟ සමමුහුර්ත නොවන විට Pkg.instantiate දැන් අනතුරු ඇඟවීමක් නිකුත් කරනු ඇත. එය නිරාකරණය කිරීමේදී මැනිෆෙස්ටයේ ඇති ව්‍යාපෘතියේ deps සහ compat වාර්තා (අනෙකුත් ක්ෂේත්‍ර නොසලකා හරිනු ලැබේ) හැෂ් මත පදනම්ව මෙය සිදු කරයි, එවිට Project.toml deps හෝ compat වාර්තා වෙත කිසියම් වෙනසක් නැවත නිරාකරණය කිරීමකින් තොරව අනාවරණය කර ගත හැක.
    • "pkg>add" හට දී ඇති නම සහිත පැකේජයක් සොයාගත නොහැකි නම්, එය දැන් එකතු කළ හැකි සමාන නම් සහිත පැකේජ යෝජනා කරයි.
    • මැනිෆෙස්ටයේ ගබඩා කර ඇති ජුලියා අනුවාදයට තවදුරටත් ගොඩනැගීමේ අංකය ඇතුළත් නොවේ, එනම් මාස්ටර් දැන් 1.9.0-DEV ලෙස ලියා ඇත.
    • ටෙස්ට් abort "pkg>" දැන් වඩාත් ස්ථීර ලෙස අනාවරණය වනු ඇත, සහ නිවැරදිව REPL වෙත ආපසු ලබා දෙනු ඇත.
  • InteractiveUtils
    • නව @time_imports macro ආයාත කිරීමේ ප්‍රතිශතයක් ලෙස සම්පාදනය සහ නැවත සම්පාදනය කිරීමේ කාලය උද්දීපනය කරමින්, පැකේජ සහ ඒවායේ පරායත්ත ආයාත කිරීමට ගත කළ කාලය වාර්තා කිරීමට.
  • රේඛීය වීජ ගණිතය
    • BLAS උපමොඩියුලය දැන් level-2 BLAS spr! ශ්‍රිත සඳහා සහය දක්වයි.
    • LinearAlgebra.jl සම්මත පුස්තකාලය දැන් SparseArrays.jl වෙතින් සම්පූර්ණයෙන්ම ස්වාධීන වේ, මූලාශ්‍ර කේතයෙන් සහ ඒකක පරීක්ෂණ ඉදිරිදර්ශනයෙන්. එහි ප්‍රතිඵලයක් ලෙස, මූලික හෝ රේඛීය වීජ ගණිත වස්තු සඳහා යොදන රේඛීය වීජ ගණිතයේ ක්‍රම මගින් විරල අරාවන් (ව්‍යංගයෙන්) තවදුරටත් ආපසු ලබා නොදේ. විශේෂයෙන්, මෙය පහත බිඳෙනසුලු වෙනස්කම් වලට තුඩු දෙයි:
      • විශේෂ "විරල" න්‍යාස (උදා: විකර්ණ) භාවිතා කරන සංයෝජන දැන් ඝන න්‍යාස ලබා දෙයි; එහි ප්‍රතිඵලයක් ලෙස, getproperty ඇමතුම් මගින් සාදන ලද SVD වස්තුවල D1 සහ D2 ක්ෂේත්‍ර දැන් ඝන න්‍යාස වේ.
      • සමාන(::SpecialSparseMatrix, ::Type, ::Dims) ක්‍රමය ඝන null matrix ලබා දෙයි. එහි ප්‍රතිඵලයක් ලෙස, දෙක-, තුන- සහ සමමිතික ත්‍රිකෝණ න්‍යාසවල නිෂ්පාදන එකිනෙක හා ඝන න්‍යාසයක් ජනනය වීමට හේතු වේ. මීට අමතරව, (ස්ථිතික නොවන) න්‍යාස වලින් විශේෂ "විරල" න්‍යාස වලින් තර්ක තුනක් සහිත සමාන න්‍යාස තැනීම "ශුන්‍ය(::Type{Matrix{T}})" නිසා දැන් අසාර්ථක වේ.
  • Printf
    • %s සහ %c දැන් පළල හැඩතල ගැන්වීමට textwidth තර්කය භාවිතා කරයි.
  • නරඹන්න
    • CPU පැටවුම් පැතිකඩ දැන් නූල් සහ කාර්යයන් ඇතුළු පාර-දත්ත වාර්තා කරයි. Profile.print() හි නව groupby තර්කයක් ඇති අතර එමඟින් ඔබට පෙරහන සැපයීම සඳහා නූල්, කාර්ය හෝ උප පොට/කාර්ය, කාර්යයන්/නූල්, සහ නූල් සහ කාර්ය තර්ක සමූහ කිරීමට ඉඩ සලසයි. අතිරේකව, එක් එක් නියැදිය තුළ නූල් අක්‍රියද නැද්ද යන්න මත පදනම්ව, භාවිත ප්‍රතිශතය සමස්තයක් ලෙස හෝ එක් නූලකට දැන් වාර්තා වේ. Profile.fetch() හි නව පාරදත්ත පෙරනිමියෙන් ඇතුළත් වේ. පැතිකඩ දත්තවල බාහිර පාරිභෝගිකයන් සමඟ පසුගාමී ගැළපුම සඳහා, include_meta=false සම්මත කිරීමෙන් එය බැහැර කළ හැක.
    • නව Profile.Allocs මොඩියුලය මඟින් ඔබට මතක වෙන් කිරීම් පැතිකඩ කිරීමට ඉඩ සලසයි. එක් එක් මතක වෙන්කිරීමේ වර්ගය සහ ප්‍රමාණයේ අට්ටි සටහනක් සටහන් කර ඇති අතර, නියැදි_අනුපාත තර්කය මඟින් වින්‍යාසගත කළ හැකි ප්‍රතිපාදන සංඛ්‍යාවක් මඟ හැරීමට ඉඩ සලසයි, කාර්ය සාධනය පොදු කාර්ය සාධනය අඩු කරයි.
    • ස්ථාවර කාලසීමාව CPU පැතිකඩ කිරීම දැන් පරිශීලකයාට ප්‍රථමයෙන් පැතිකඩ පූරණය නොකර කාර්යයන් ක්‍රියාත්මක වන අතරතුර ධාවනය කළ හැකි අතර, වාර්තාව ධාවනය වන විට පෙන්වනු ඇත. MacOS සහ FreeBSD මත, ctrl-t ඔබන්න හෝ SIGINFO අමතන්න. වෙනත් වේදිකා සඳහා, SIGUSR1 සක්‍රිය කරන්න, i.e. % ඝාතනය -USR1 $julia_pid. මෙය Windows හි නොමැත.
  • REPL
    • RadioMenu දැන් විකල්ප සෘජු තේරීම සඳහා අතිරේක යතුරුපුවරු කෙටිමං සඳහා සහය දක්වයි.
    • TAB එබීමෙන් පසුව "?(x, y"" අනුපිළිවෙලින් x, y, .... තර්ක සමඟින් හැඳින්විය හැකි සියලුම ක්‍රම පෙන්වයි (ප්‍රමුඛ ඉඩක් ඔබට උපකාරක ප්‍රකාරයට ඇතුළු වීම වළක්වයි.) "MyModule.?(x, y " සෙවුම "MyModule" වෙත සීමා කරයි. TAB එබීමෙන් අවම වශයෙන් එක් තර්කයක් ඕනෑම දෙයකට වඩා නිශ්චිත වර්ගයක වීම අවශ්‍ය වේ. නැතහොත් ඕනෑම ගැළපෙන ක්‍රමයක් ඉඩ දීමට TAB වෙනුවට SHIFT-TAB භාවිතා කරන්න.
    • නව ගෝලීය විචල්‍ය දෝෂය මඟින් ඔබට නවතම ව්‍යතිරේකයක් ලබා ගැනීමට ඉඩ සලසයි, අවසාන ප්‍රතිචාරය සමඟින් ans හි හැසිරීමට සමාන වේ. දෝෂය ඇතුළත් කිරීම ව්‍යතිරේක තොරතුරු නැවත මුද්‍රණය කරයි.
  • SparseArrays
    • SparseArrays කේතය ජූලියා ගබඩාවේ සිට බාහිර SparseArrays.jl ගබඩාව වෙත ගෙන යන ලදී.
    • නව concatenation ශ්‍රිත sparse_hcat, sparse_vcat, සහ sparse_hvcat ආදාන තර්ක වර්ග නොසලකා SparseMatrixCSC වර්ගයක් ලබා දෙයි. LinearAlgebra.jl සහ SparseArrays.jl කේතය වෙන් කිරීමෙන් පසු matrices ඇලවීම සඳහා යාන්ත්‍රණය ඒකාබද්ධ කිරීමට මෙය අවශ්‍ය විය.
  • ලොග් වීම
    • සම්මත ලොගින් මට්ටම් පහතින්, නිදොස්කරණය, තොරතුරු, අනතුරු ඇඟවීම, දෝෂය සහ ඉහත මැක්ස්ලෙවල් දැන් සම්මත ලොගින් පුස්තකාලයෙන් අපනයනය කෙරේ.
  • යුනිකෝඩ්
    • ප්‍රකාශිතව සාමාන්‍යකරණය වූ තන්තු තැනීමකින් තොරව යුනිකෝඩ් සමානාත්මතාවය පරීක්ෂා කිරීමට isequal_normalized ශ්‍රිතය එක් කරන ලදී.
    • Unicode.normalize ශ්‍රිතය දැන් charttransform මූල පදය පිළිගනී, එය අභිරුචි අක්ෂර සිතියම්ගත කිරීම් සැපයීමට භාවිතා කළ හැකි අතර, Julia parser විසින් හඳුනාගැනීම් සාමාන්‍යකරණය කරන විට භාවිතා කරන සිතියම්කරණය ප්‍රතිනිෂ්පාදනය කිරීමට Unicode.julia_chartransform ශ්‍රිතයද සපයනු ලැබේ.
  • ටෙස්ට්
    • '@test_throws "some message" triggers_error()' දැන් විශේෂිත ව්‍යතිරේක වර්ගය කුමක් වුවත්, ප්‍රදර්ශනය කරන ලද දෝෂ පෙළෙහි "සමහර පණිවිඩ" දෝෂයක් තිබේදැයි පරීක්ෂා කිරීමට භාවිතා කළ හැක. නිත්‍ය ප්‍රකාශන, තන්තු ලැයිස්තු සහ ගැළපෙන ශ්‍රිතවලට ද සහය දක්වයි.
    • දී ඇති ශ්‍රිතයකින් පරීක්ෂණ කට්ටලයක් සෑදීමට @testset foo() දැන් භාවිතා කළ හැක. පරීක්ෂණ නඩුවේ නම යනු කැඳවනු ලබන ශ්‍රිතයේ නමයි. සියලුම අතරමැදි පරීක්ෂණ ප්‍රතිඵල වාර්තා කරන අතරම, වෙනත් ශ්‍රිතවලට ඇමතුම් සඳහා ඇතුළුව, හඳුන්වන ශ්‍රිතයේ @test සහ අනෙකුත් @testset අර්ථ දැක්වීම් අඩංගු විය හැක.
    • TestLogger සහ LogRecord දැන් සම්මත පරීක්ෂණ පුස්තකාලයෙන් අපනයනය කෙරේ.
  • බෙදා හරින ලදි
    • SSHManager දැන් addprocs() ක්‍රමය සහ shell=:csh පරාමිතිය හරහා csh/tcsh දවටනයක් සහිත සේවක නූල් සඳහා සහය දක්වයි.
  • වෙනත් වෙනස්කම්
    • GC.enable_logging(true) එක් එක් කසළ එකතු කිරීමේ මෙහෙයුම එකතු කරන ලද කාලය සහ මතක ප්‍රමාණය සමඟ සටහන් කිරීමට භාවිතා කළ හැක.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න