Sgaoileadh cànan prògramadh Julia 1.8

Tha sgaoileadh cànan prògramadh Julia 1.8 ri fhaighinn, a’ cothlamadh feartan leithid àrd-choileanadh, taic airson clò-bhualadh fiùghantach agus innealan togte airson prògramadh co-shìnte. Tha co-chòrdadh Julia faisg air MATLAB, a 'faighinn iasad de chuid de na h-eileamaidean bho Ruby agus Lisp. Tha an dòigh làimhseachaidh sreang coltach ri Perl. Tha còd a’ phròiseict air a sgaoileadh fo chead MIT.

Prìomh fheartan a’ chànain:

  • Coileanadh Ă rd: is e aon de phrĂŹomh amasan a’ phròiseict coileanadh a choileanadh faisg air prògraman C. Tha an compiler Julia stèidhichte air obair a’ phròiseict LLVM agus a’ gineadh còd inneal dĂšthchasach èifeachdach airson iomadh Ă rd-Ăšrlar targaid;
  • A’ toirt taic do ghrunn phĂ tranan prògramaidh, a’ gabhail a-steach eileamaidean de phrògramadh a tha ag amas air nithean agus gnĂŹomh. Tha an leabharlann Ă bhaisteach a’ toirt seachad, am measg rudan eile, gnĂŹomhan airson I/O asyncronach, smachd pròiseas, logadh, pròifil, agus riaghladh pacaid;
  • Clò-bhualadh fiĂšghantach: chan eil feum aig a’ chĂ nan air mĂŹneachadh soilleir air seòrsachan airson caochladairean, coltach ri cĂ nanan prògramaidh sgrĂŹobhaidh. Modh eadar-ghnĂŹomhach le taic;
  • Comas roghainneil airson seòrsaichean a shònrachadh gu soilleir;
  • Co-chòrdadh air leth freagarrach airson coimpiutaireachd Ă ireamhach, coimpiutaireachd saidheansail, ionnsachadh innealan, agus fradharc dĂ ta. Taic airson iomadh seòrsa dĂ ta Ă ireamhach agus innealan airson Ă ireamhachadh co-shĂŹnte.
  • Comas gnĂŹomhan a ghairm gu dĂŹreach bho leabharlannan C Ă s aonais sreathan a bharrachd.

Atharrachaidhean mòra ann an Julia 1.8:

  • Feartan cĂ nain Ăšra
    • Faodar raointean de structar mutable a chomharrachadh a-nis mar chuibhlichean gus an casg bho bhith air an atharrachadh agus gus optimization a cheadachadh.
    • Faodar notaichean seòrsa a chur ri caochladairean cruinneil.
    • Faodar arrays falamh n-mheudach a chruthachadh le bhith a’ cleachdadh ioma leth-choloin taobh a-staigh camagan ceĂ rnagach, mar eisimpleir “[;;;] ”a’ cruthachadh sreath 0x0x0.
    • Feuch faodaidh blocaichean a-nis gu roghnach bloc eile a bhith aca, a thèid a chuir gu bĂ s dĂŹreach Ă s deidh a’ phrĂŹomh bhuidheann mura deach mearachdan a thilgeil.
    • Faodar @inline agus @noinline a chuir am broinn buidheann gnĂŹomh, a’ toirt cothrom dhut gnĂŹomh gun urra a chomharrachadh.
    • Faodar @inline agus @noinline a-nis a chuir an sĂ s ann an gnĂŹomh ann an lĂ rach gairm no bloc gus toirt air na gairmean gnĂŹomh co-fhreagarrach a bhith air an toirt a-steach (no gun a bhith air an toirt a-steach).
    • Tha ∀, ∃ agus ∄ ceadaichte mar charactaran aithnichear.
    • Taic a bharrachd airson sònrachadh Unicode 14.0.0.
    • Faodar an dòigh Modal (: ainm, meallta, meallta) a chleachdadh gus modal a chruthachadh anns nach eil ainmean, nach eil a’ toirt a-steach Base no Core, agus anns nach eil iomradh air fhèin.
  • Atharraichean ann an cĂ nan
    • Tha world_age a-nis aig nithean gnĂŹomh a chaidh a chruthachadh Ă s Ăšr (@spawn, @async, msaa) airson dòighean bhon phĂ rant Task nuair a thèid an cruthachadh, a’ ceadachadh coileanadh lĂ n-leasaichte. Tha an roghainn gnĂŹomhachaidh roimhe ri fhaighinn a’ cleachdadh an dòigh Base.invokelatest.
    • Tha stiĂširidhean cruth dĂ -thaobhach neo-chothromach Unicode a-nis air an toirmeasg ann an sreathan agus beachdan gus in-stealladh a sheachnadh.
    • Tha Base.ifelse a-nis air a mhĂŹneachadh mar ghnĂŹomh coitcheann seach togalach togte, a’ leigeil le pacaidean am mĂŹneachadh a leudachadh.
    • Bidh a h-uile sònrachadh gu caochladair cruinne a-nis a’ dol tro ghairm gu tionndadh (Sam bith, x) no tionndadh(T, x) ma chaidh an caochladair cruinne ainmeachadh mar sheòrsa T. , x) === tha x an-còmhnaidh fĂŹor, air neo dh’ fhaodadh sin leantainn gu giĂšlan ris nach robh dĂšil.
    • Tha gnĂŹomhan togte a-nis coltach ri gnĂŹomhan coitcheann agus faodar an Ă ireamhachadh gu prògramach a’ cleachdadh dhòighean.
  • Leasachaidhean cruinneachaidh / runtime
    • LĂšghdaich an Ăšine tòiseachaidh timcheall air 25%.
    • Chaidh an inneal-cruinneachaidh stèidhichte air LLVM a sgaradh bhon leabharlann runtime gu leabharlann Ăšr, libjulia-codegen. Tha e air a luchdachadh gu bunaiteach, agus mar sin cha bu chòir atharrachaidhean sam bith a bhith ann rè cleachdadh Ă bhaisteach. Ann an cleachdadh nach eil feumach air inneal-cruinneachaidh (mar eisimpleir, ĂŹomhaighean siostam anns a bheil a h-uile còd riatanach air a chuir ri chèile), faodar an leabharlann seo (agus an eisimeileachd LLVM aige) fhĂ gail air falbh.
    • Tha e comasach co-dhĂšnadh seòrsa cumhach a-nis le bhith a’ toirt seachad argamaid gu modh. Mar eisimpleir, airson Base.ifelse (isa (x, Int), x, 0) tillidh :: Int eadhon ged nach eil fios dè an seòrsa x.
    • Chaidh SROA (Scalar Replace of Aggregates) a leasachadh: a’ cuir Ă s do ghairmean getfield le raointean cruinne leantainneach, a’ cuir Ă s do structaran mutable le raointean neo-aithnichte, a’ leasachadh coileanadh agus lĂ imhseachadh fiosan achaidh neadachaidh.
    • Bidh co-dhĂšnadh seòrsa a’ leantainn grunn bhuaidhean - fo-bhuaidhean agus neo-tuiteam. Thathas a’ toirt aire do ghluasad cunbhalach, a tha gu mòr a’ leasachadh coileanadh Ăšine cruinneachaidh. Ann an cuid de chĂšisean, mar eisimpleir, thèid fiosan gu gnĂŹomhan nach gabh a chuir a-steach ach nach toir buaidh air an toradh a chuir air falbh aig Ă m ruith. Faodar riaghailtean airson buaidhean ath-sgrĂŹobhadh le lĂ imh a’ cleachdadh am macro Base.@assume_effects.
    • Bidh ro-chruinneachadh (le stiĂširidhean ro-chruinneachaidh soilleir no eallach obrach sònraichte) a-nis a’ sĂ bhaladh barrachd còd a tha air a mhĂŹneachadh le seòrsa, a’ leantainn gu coileanadh nas luaithe airson a’ chiad uair. Faodar cothlamadh dòigh / seòrsa Ăšr sam bith a dh’ fheumas do phacaid, ge bith cĂ ite an deach na dòighean sin a mhĂŹneachadh, a thasgadh a-steach don fhaidhle ro-chruinneachaidh ma thèid an gairm le dòigh a bhuineas don phacaid agad.
  • Atharraichean air roghainnean loidhne-Ă ithne
    • Is e an giĂšlan bunaiteach airson sĂšil a chumail air dearbhaidhean @inbounds a-nis an roghainn fèin-ghluasadach ann an "--check-bounds = tha | chan eil | auto".
    • Roghainn Ăšr “--strip-metadata” gus docstrings a thoirt air falbh, fiosrachadh mun Ă ite tĂšsail, agus ainmean caochladairean ionadail nuair a chruthaicheas tu ĂŹomhaigh siostam.
    • Roghainn Ăšr "--strip-ir" gus leigeil leis an neach-cruinneachaidh an riochdachadh còd stòr eadar-mheadhanach a thoirt air falbh nuair a bhios e a ’togail ĂŹomhaigh an t-siostaim. Chan obraich an dealbh a thig Ă s a seo ach ma chleachdar “--compile=all” no ma tha an còd a tha a dhĂŹth air a chur ri chèile ro-lĂ imh.
    • Ma thèid an caractar " -" a shònrachadh an Ă ite ainm an fhaidhle, thèid an còd so-ghnĂŹomhaichte a leughadh bhon t-sruth Ă bhaisteach ion-chuir.
  • Bidh taic ioma-threading ag atharrachadh
    • Bidh Threads.@threads gu bunaiteach a’ cleachdadh an roghainn clĂ raidh Ăšr : fiĂšghantach, a tha eadar-dhealaichte bhon mhodh roimhe leis gum bi tionndaidhean air an clĂ radh gu dinamach thairis air snĂ ithleanan luchd-obrach a tha rim faighinn seach a bhith air an sònrachadh do gach snĂ ithlean. Leigidh am modh seo le cuairteachadh nas fheĂ rr de lĂšban neadachaidh le @spawn agus @threads.
  • GnĂŹomhan leabharlainn Ăšr
    • eachsplit (str) gus sgoltadh (str) a chuir an gnĂŹomh grunn thursan.
    • allequal(itr) gus dearbhadh a bheil a h-uile eileamaid ann an iterator co-ionnan.
    • Faodar hardlink(src, dst) a chleachdadh gus ceanglaichean cruaidh a chruthachadh.
    • setcpuaffinity (cmd, cpus) gus dĂ imh a 'phròiseis a shuidheachadh aig cridhe nam pròiseasan a chaidh a chuir air bhog.
    • diskstat (path = pwd ()) gus staitistig diosc fhaighinn.
    • Mac Ăšr @showtime gus an loidhne a thathar a’ measadh agus an @time aithisg a thaisbeanadh.
    • LazyString and lazy"str" ​​chaidh macro a chur ris gus taic a thoirt do thogail leisg air teachdaireachdan mearachd ann an slighean mearachd.
    • ChĂ irich sinn cĂšis concurrency ann an Dict agus nithean eile a thĂ inig a-mach leithid iuchraichean (:: Dict), luachan (:: Dict) agus Set. Faodar dòighean ath-aithris a chleachdadh a-nis air faclair no seata, cho fad 's nach eil fiosan ann a dh'atharraicheas am faclair no an seata.
    • Tha tuairisgeul roghainneil aig @time agus @timev a-nis, a’ toirt cothrom dhut cunntas a thoirt air tĂšs aithisgean Ăšine, mar eisimpleir. @time "A' luachadh foo" foo().
    • raon a’ gabhail an dĂ rna cuid stad no fad mar an aon argamaid prĂŹomh fhacal aige.
    • tha cruinneas agus mionaideachd a-nis a’ gabhail ri bunait mar phrĂŹomh fhacal
    • Tha nithean socaid TCP a-nis a’ toirt seachad dòigh sgrĂŹobhaidh dlĂšth agus a’ toirt taic do chleachdadh modh leth-fhosgailte.
    • Tha extrema a-nis a’ gabhail ri argamaid init.
    • Tha Iterators.countfrom a-nis a’ gabhail ri seòrsa sam bith a tha a’ mĂŹneachadh modh +.
    • @time a-nis a’ riarachadh an % den Ăšine a thathar a’ caitheamh ag ath-chruinneachadh dhòighean le seòrsachan atharraichte.
  • Atharraichean Ă bhaisteach leabharlann
    • Iuchraichean le luach Chan eil dad a-nis air a thoirt air falbh bhon Ă rainneachd ann an addenv.
    • Tha Iterators.reverse (agus mar sin mu dheireadh) a’ toirt taic do gach loidhne.
    • Chan eil an gnĂŹomh faid airson raointean de sheòrsan sònraichte a’ sgrĂšdadh tuilleadh airson tar-shruth iomlan. Tha gnĂŹomh Ăšr, checked_length, ri fhaighinn; tha loidsig smachd gluasaid bit ann. Ma tha feum air, cleachd SaferIntegers.jl gus an seòrsa raon a thogail.
    • Bidh an iterator Iterators.Reverse a’ buileachadh tionndadh gachindex ma ghabhas sin dèanamh.
  • Manaidsear pacaid
    • Comharran Ăšra ⌃ agus ⌅ ri taobh pacaidean san inbhe “pkg>” far a bheil dreachan Ăšra rim faighinn. Tha ⌅ a’ nochdadh nach gabh dreachan Ăšra a chuir a-steach.
    • Ùr seann-fhasanta::Bool argamaid gu Pkg.status (--seann-fhasanta no -o ann am modh REPL) gus fiosrachadh mu phasganan bho dhreachan roimhe a shealltainn.
    • Compat Ăšr ::argamaid Bool gu Pkg.status (--compat no -c ann am modh REPL) gus inntrigidhean [compat] sam bith ann am Project.toml a shealltainn.
    • Modh Ăšr “pkg> compat” (agus Pkg.compat) airson inntrigidhean co-chòrdalachd pròiseict a shuidheachadh. A’ toirt seachad deasaiche eadar-ghnĂŹomhach tro “pkg> compat” no smachd clĂ ran dĂŹreach tro “pkg> Foo 0.4,0.5”, as urrainn clĂ ran gnĂ thach a luchdachadh tro chrĂŹochnachadh tab. 'S e sin, thèid "pkg> compat Fo" Ăšrachadh gu fèin-obrachail gu "pkg> Foo 0.4,0.5" gus an tèid inntrig a tha ann mu thrĂ th a dheasachadh.
    • A-nis tha Pkg a’ feuchainn ri pacaidean a luchdachadh sĂŹos bho frithealaiche pacaidean a-mhĂ in ma bhios an frithealaiche a’ cumail sĂšil air a’ chlĂ r anns a bheil am pasgan.
    • Bheir Pkg.instantiate a-mach rabhadh a-nis nuair a tha Project.toml a-mach Ă  sioncranachadh le Manifest.toml. Bidh e a’ dèanamh seo stèidhichte air hash de chlĂ ran deps is compat a’ phròiseict (thèid dearmad a dhèanamh air raointean eile) anns an fhollaiseach nuair a thathar ga fhuasgladh, gus an lorgar atharrachadh sam bith air na deps Project.toml no clĂ ran compat gun ath-fhuasgladh.
    • Mura h-urrainn do “pkg> add” pasgan a lorg leis an ainm a chaidh a thoirt seachad, molaidh e a-nis pacaidean le ainmean coltach ris a ghabhas cur ris.
    • Chan eil an dreach de julia a tha air a stòradh san fhoillseachadh a-nis a’ toirt a-steach an Ă ireamh togail, a’ ciallachadh gum bi maighstir a-nis air a sgrĂŹobhadh mar 1.9.0-DEV.
    • Bidh test abort "pkg>" a-nis air a lorg nas cunbhalaiche, agus thèid a thilleadh gu ceart chun REPL.
  • InteractiveUtils
    • Mac Ăšr @time_imports gus cunntas a thoirt air an Ăšine a chaidh a chaitheamh a’ toirt a-steach pacaidean agus an eisimeileachd, a’ soilleireachadh Ăšine cruinneachaidh is ath-chruinneachadh mar cheudad de in-mhalairt.
  • Algebra sreathach
    • Tha fo-mhodal BLAS a-nis a’ toirt taic do ghnĂŹomhan ĂŹre-2 BLAS spr!
    • Tha an leabharlann Ă bhaisteach LinearAlgebra.jl a-nis gu tur neo-eisimeileach bho SparseArrays.jl, gach cuid bho shealladh còd stòr agus deuchainn aonad. Mar thoradh air an sin, chan eil arrays gann air an tilleadh tuilleadh (gu h-obann) le dòighean bho LinearAlgebra air an cur an sĂ s ann an stuthan Base no LinearAlgebra. Gu sònraichte, tha seo a 'leantainn gu na h-atharrachaidhean briste a leanas:
      • Bidh co-chruinneachaidhean a' cleachdadh matrices "gann" sònraichte (me trastain) a-nis a' tilleadh matrices tiugh; Mar thoradh air an sin, tha na raointean D1 agus D2 de stuthan SVD a chaidh a chruthachadh le gairmean getproperty a-nis nan matrices dĂšmhail.
      • Bidh an dòigh coltach (:: SpecialSparseMatrix, :: Type, :: Dims) a’ tilleadh matrix dĂšmhail null. Mar thoradh air an sin, bidh toraidhean de mhatrices trĂŹ-thaobhach dĂ -, trĂŹ, agus co-chothromach ri chèile a’ leantainn gu gineadh matrix dĂšmhail. A bharrachd air an sin, tha a bhith a’ togail matrices coltach ri trĂŹ argamaidean bho mhatrics “gann” sònraichte bho mhatrices (neo-statach) a-nis a’ fĂ iligeadh air sgĂ th “neoni (:: Seòrsa{Matrix{T}})".
  • Clò-bhuail
    • Cleachdaidh %s agus %c an argamaid leud-teacsa gus an leud a chruth.
  • Cunntas
    • Tha pròifil luchdan CPU a-nis a’ clĂ radh meata-dĂ ta a’ toirt a-steach snĂ ithleanan agus gnĂŹomhan. Tha argamaid Ăšr groupby aig Profile.print () a leigeas leat snĂ ithleanan, gnĂŹomhan no fo-snĂ ithlean / gnĂŹomhan, gnĂŹomhan / snĂ ithleanan, agus snĂ ithleanan agus argamaidean gnĂŹomhan a chuir còmhla gus sĂŹoladh a thoirt seachad. A bharrachd air an sin, thathas a-nis ag aithris ceudad cleachdaidh mar Ă ireamh iomlan no gach snĂ ithlean, a rèir a bheil an snĂ ithlean leisg no nach eil anns gach sampall. Tha Profile.fetch() a’ toirt a-steach am meata-dĂ ta Ăšr gu bunaiteach. Airson co-chòrdalachd air ais le luchd-cleachdaidh taobh a-muigh dĂ ta pròifil, faodar a chuir a-mach le bhith a’ dol seachad include_meta = meallta.
    • Leigidh am modal Ăšr Profile.Allocs leat cunntas a thoirt air cuibhreannan cuimhne. Tha lorg stac de sheòrsa is meud gach riarachadh cuimhne air a chlĂ radh, agus tha an argamaid sample_rate a’ ceadachadh Ă ireamh rèiteachaidh de chuibhreannan a sheachnadh, a’ lughdachadh coileanadh os cionn.
    • Faodar pròifileadh CPU fad-Ăšine stèidhichte a thòiseachadh leis an neach-cleachdaidh a-nis fhad ’s a thathar a’ cur an gnĂŹomh gnĂŹomh gun a bhith a’ luchdachadh a’ phròifil ro-lĂ imh, agus thèid an aithisg a thaisbeanadh fhad ’s a thathar ga chur an gnĂŹomh. Air MacOS agus FreeBSD, brĂšth ctrl-t no gairm SIGINFO. Airson Ă rd-Ăšrlaran eile, cuir SIGUSR1 an comas, i.e., % kill -USR1 $julia_pid. Windows Chan eil seo ri fhaighinn.
  • REPL
    • Tha RadioMenu a-nis a’ toirt taic do gheĂ rr-dhealbhan meur-chlĂ r a bharrachd airson taghadh dĂŹreach de roghainnean.
    • Tha an t-sreath "? (x, y" agus an uairsin a 'putadh TAB a' taisbeanadh a h-uile modh a dh'fhaodar a ghairm le argamaidean x, y, .... (Tha prĂŹomh Ă ite a 'cur casg ort bho bhith a' dol a-steach don mhodh cuideachaidh.)" MyModule.? y" a' cuingealachadh an rannsachaidh gu "MyModule". Ma bhriogas tu air TAB feumaidh co-dhiĂš aon argamaid a bhith de sheòrsa nas mionaidiche na Sam bith. No cleachd SHIFT-TAB an Ă ite TAB gus modhan co-chosmhail sam bith a cheadachadh.
    • Leigidh am mearachd caochladair cruinne Ăšr leat an eisgeachd as Ăšire fhaighinn, coltach ri giĂšlan ans leis an fhreagairt mu dheireadh. Le bhith a’ cur a-steach mearachd bidh sin ag ath-chlò-bhualadh an fhiosrachaidh eisgeachd.
  • Arrays Spear
    • Ghluais sinn an còd SparseArrays bho stòr Julia gu stòr SparseArrays.jl a-muigh.
    • Bidh na gnĂŹomhan concatenation Ăšr sparse_hcat, sparse_vcat, agus sparse_hvcat a’ tilleadh seòrsa SparseMatrixCSC ge bith dè an seòrsa argamaidean cuir a-steach. Dh'fhĂ s seo riatanach gus an uidheamachd airson matrices gluing aonachadh Ă s deidh dhaibh an còd LinearAlgebra.jl agus SparseArrays.jl a sgaradh.
  • Logadh
    • Tha na h-ĂŹrean logaidh Ă bhaisteach BelowMinLevel, Debug, Info, Warn, Error agus AboveMaxLevel a-nis air an Ă s-mhalairt bhon leabharlann Logaidh Ă bhaisteach.
  • Unicode
    • Chaidh gnĂŹomh isequal_normalized a chuir ris gus sgrĂšdadh a dhèanamh airson co-ionannachd Unicode gun a bhith a’ togail sreangan Ă bhaisteach gu sònraichte.
    • Tha an gnĂŹomh Unicode.normalize a-nis a’ gabhail ris a’ phrĂŹomh fhacal charttransform, a dh’ fhaodar a chleachdadh gus mapaichean caractar Ă bhaisteach a thoirt seachad, agus tha an gnĂŹomh Unicode.julia_chartransform air a thoirt seachad cuideachd gus ath-riochdachadh a dhèanamh air a’ mhapadh a thèid a chleachdadh nuair a bhios parser Julia ag Ă bhaisteachadh aithnichearan.
  • deuchainn
    • Faodar ‘@test_throws“ cuid de theachdaireachd ”triggers_error()’ a chleachdadh a-nis gus dearbhadh a bheil mearachd “teachdaireachd air choireigin” anns an teacsa mearachd a tha air a thaisbeanadh, ge bith dè an seòrsa eisgeachd sònraichte. Thathas cuideachd a’ toirt taic do abairtean cunbhalach, liostaichean sreang, agus gnĂŹomhan maidsidh.
    • Faodar @testset foo() a chleachdadh a-nis gus seata deuchainn a chruthachadh bho ghnĂŹomh sònraichte. Is e ainm na cĂšise deuchainn ainm a’ ghnĂŹomh ris an canar. Faodaidh @test agus mĂŹneachaidhean eile @testset a bhith anns a’ ghnĂŹomh ris an canar, a’ toirt a-steach fiosan gu gnĂŹomhan eile, fhad ‘s a tha iad a’ clĂ radh a h-uile toradh deuchainn eadar-mheadhanach.
    • Tha TestLogger agus LogRecord a-nis air an Ă s-mhalairt bhon leabharlann Deuchainn Ă bhaisteach.
  • Air a chuairteachadh
    • Tha SSHManager a-nis a’ toirt taic do snĂ ithleanan luchd-obrach le còmhdach csh / tcsh tron ​​​​dòigh addprocs () agus am paramadair slige =: csh.
  • Atharraichean eile
    • Faodar GC.enable_logging(true) a chleachdadh gus gach obair togail sgudail a chlĂ radh leis an Ăšine agus an ĂŹre de chuimhne a chaidh a chruinneachadh.

Source: fosgailtenet.ru

Ceannaich aoigheachd earbsach airson làraich le dìon DDoS, frithealaichean VPS VDS 🔥 Ceannaich aoigheachd làrach-lìn earbsach le dìon DDoS, frithealaichean VPS VDS | ProHoster