Kuburitswa kwemutauro wechirongwa Julia 1.7 yakadhindwa, ichibatanidza hunhu hwakadai sekuita kwepamusoro, tsigiro yeakasimba kutaipa uye akavakirwa-mukati maturusi epaparallel programming. Iyo syntax yaJulia iri padyo neMATLAB, iine zvimwe zvinhu zvakakweretwa kubva kuna Ruby naLisp. Iyo tambo manipulation nzira inoyeuchidza Perl. Iyo kodhi yeprojekiti yakagoverwa pasi peMIT rezinesi.
Zvinonyanya kukosha zvemutauro:
- Kuita kwepamusoro: chimwe chezvinangwa zvakakosha zvepurojekiti ndeyekuwana kuita padyo neC zvirongwa. Iyo Julia compiler yakavakirwa pachirongwa cheLLVM uye inogadzira inoshanda yemuchina kodhi yemapuratifomu mazhinji;
- Tsigiro yeakasiyana-siyana programming paradigms, kusanganisira zvinhu zvechinhu-chakatarisana uye inoshanda hurongwa. Iyo yakajairwa raibhurari inopa mabasa easynchronous I/O, maitiro manejimendi, kutema matanda, profiling, uye mapakeji manejimendi, pakati pezvimwe zvinhu;
- Dynamic typing: Mutauro haudi tsananguro yakajeka yemhando dzezvakasiyana, nekuenzanisa nemitauro yekunyora mapurogiramu. Inotsigira interactive mode;
- Sarudzo kugona kutsanangura zvakajeka marudzi;
- Syntax yakanakira kuverenga kwenhamba, kuverenga kwesainzi, masisitimu ekudzidza muchina uye kuona data. Tsigiro yemhando dzakawanda dzedhata uye maturusi ekufananidza kuverenga.
- Kugona kufona zvakananga mabasa kubva kumaraibhurari eC pasina mamwe matinji.
Zvitsva zvemutauro weJulia 1.7:
- New syntax yekugadzira multidimensional arrays. Semicolons anoshandiswa kuparadzanisa zviyero, nehuwandu hwemasemicolon hunoratidza ukuru. Somuenzaniso, imwe semicolon mu[A; B]" zvinoreva kusungirirana muchikamu chekutanga (chakatwasuka muchikamu chechikamu chimwe), semicolons maviri "[A;; B]" ita izvi mune yechipiri dimension (yakatwasuka semutsara mutsva wematrix), semicolons matatu ";;;" wechitatu, etc.
- A backslash (\) pamagumo emutsara mukati metambo chaiyo ikozvino inobvisa iyo nyowani mutsara uye indentation. Izvi zvinogona kushandiswa kupatsanura tambo refu kuita mitsara yakawanda yekodhi pasina kuwedzera mamwe mavara.
- Kudzokera kumashure pamberi pemutsara mutsva muconsole raira kuvhura literals `cmd\...` ikozvino inogara ichibvisa mutsara mutsva uye inodudzira kutevedzana setambo inosanganisirwa chaiyo, nepo mhedzisiro yacho isati yanyatsotsanangurwa.
- Izwi rekuti "(; a, b) = x" kugadzira zvakasiyana a uye b kubva kuna x. Iyi syntax yakaenzana ne "a = getproperty(x, :a); b = getproperty(x, :b)".
- Kuwedzeredza kwese kwave kutenderwa kuzviratidzo (e.g. x√y uye x∛y).
- Vanonzwisisika vanoshanda "&&" uye "||" ikozvino inogona kushandiswa pazvikamu zvefomu ".&&" uye ".||".
- Vashandisi ⫪(U + 2AEA, \Pamusoro, \downvDash) uye ⫫(U + 2AEB, \Bot, \upvDash, \indep) zvino vanogona kushandiswa sevashandisi vebhinari.
- Yakawedzerwa sarudzo "-check-bounds=yes|no|auto" kutonga @inbounds macros ine default value auto.
Mutauro unochinja
- Iyo yakasarudzika pseudo-random nhamba jenareta yakashandurwa kubva kuMersenne Twister kuenda kuXoshiro256++, saka nhamba dzese dzisina kurongeka dzichasiyana (kunyangwe nemhodzi imwechete) kunze kwekunge chinhu chakajeka cheRNG chikashandiswa. Iyo jenareta nyowani ine mashandiro arinani, epamusoro manhamba ezvivakwa, uye inoshandiswa pakudzokorora kurongeka mumapurogiramu ane tambo dzakawanda (yekuchengetedza mamiriro ega ega basa rinomhanya nekuforoma imwe nyika kana basa idzva ragadzirwa).
- Kugadzirisa hakuchachinje hunhu panguva yekupihwa kuruboshwe kana uchiwana kukosha kubva kurudyi rwekutaura. Semuenzaniso, wakapihwa array x, izwi rekuti "x[2], x[1] = x" rave zvino chinjanisa chinhu chekutanga nechechipiri che x, nepo kare x[1] raishandiswa kuzadza zvese zvanyorwa nekuti x[2] ] yakachinjirwa panguva yekudzokororwa kwebasa ku x.
- macroexpand, @macroexpand uye @macroexpand1 haisisiri kugadzira LoadError. @test_throws yakashandurwa zvakare kuti bvunzo dzirambe dzichishanda.
- Nzvimbo yepakati "·" (\cdotpU + 00b7) nechiGiriki interpoint ·(U+0387) zvava kutorwa seyakaenzana neanoshandisa dot "⋅" (\cdotU + 22c5).
- Chiratidzo chekubvisa "-" (\minusU+2212) chave kubatwa sechinofanana nechiratidzo chekubvisa "-" (U+002d).
- Iterators.peel(itr) ikozvino inodzosera "hapana" kana isina chinhu pane kukanda iyo BoundsError kunze.
- Multiple akatevedzana semicolons mune akatevedzana kutaura akambofuratirwa (semuenzaniso, "[1;; 2] == [1; 2]"). Iyi syntax yava kushandiswa kupatsanura mativi.
- Zvisina kuenzana "#= ... =#" mirairo yekufomatidza muUnicode ikozvino yave kurambidzwa mumitsara uye makomendi kudzikisa mukana weparse/eval kodhi jekiseni.
Command line parameter shanduko
- Iyo julia --project parameter uye JULIA_PROJECT nharaunda inoshanduka ikozvino inotsigira kusarudzwa kwenzvimbo dzakagovaniswa. Semuenzaniso, julia -project=@myenv uye kutumira kunze JULIA_PROJECT = "@myenv" ikozvino yakaenzana.
Multithreading shanduko
- Mabasa emukati eatomic pointer mashandiro ave kutsanangurwa kune chaiwo saizi mabhayiti.
- Yakawedzera tsigiro yekuzivisa uye kushandisa minda yega yega kune inoshanduka struct seatomu; ona iyo itsva @atomic macro.
- Kana shanduko yezvakatipoteredza JULIA_NUM_THREADS ikaiswa kuti "auto", ipapo nhamba yeshinda ichaenzana nenhamba yetambo dzekugadzira.
- Chinhu chega chega cheBasa chine nharaunda isina kurongeka nhamba jenareta nyika, iyo nekusarudzika inopa reproducible (yakazvimiririra-yakazvimiririra) kuurayiwa kweiyo parallel simulation kodhi. Iyo yakasarudzika jenareta zvakare inomhanya mukuenderana nekukurumidza zvakanyanya kupfuura mushanduro dzakapfuura.
- Mabasa anogona kufamba pakati peshinda. Kare, basa raigara richitangwa mushinda iyo yakatanga kutanga.
Zvitsva zve library
- Yakawedzerwa nzira findmax(f, domain), argmax(f, domain) uye dzinoenderana “min” shanduro dzine nharo mbiri.
- iunordered(x) inodzosera chokwadi kana x iri kukosha kunofanirwa kusarongeka, seNaN kana kushaikwa.
- New function keepat!(vector, inds), inova yakaenzana nevector[inds] runyoro rweins integers.
- Iyo yekuvhara (f, lck) nzira yenharo mbiri ikozvino inogamuchira Channel senharo yechipiri.
- The new functor Returns(value) inodzosa kukosha kune chero nharo.
- New macros @something uye @coalesce ari mavhezheni echimwe chinhu uye coalesce, zvichiteerana.
- Basa idzva redirect_stdio redirect stdin, stdout uye stderr.
- Iyo nyowani macro "Base.@invoke f(arg1::T1, arg2::T2; kwargs...)" inopa syntax iri nyore yekudaidza "invoke(f, Tuple{T1,T2}, arg1, arg2; kwargs.. .)".
- Iyo itsva macro "Base.@invokelatest f(args...; kwargs...)" inopa nzira iri nyore yekudaidza "Base.invokelatest(f, args...; kwargs...)".
Zvitsva zveraibhurari
- A tuple inogona kugadzirwa iine keyword yemukati mufomati ":kiyi => kukosha" kutsanangura hunhu hunofanira kupfuudzwa kuIOContext.
- bytes2hex uye hex2bytes haachaganhurirwe kune nharo dzerudzi "Union{String,AbstractVector{UInt8}}" uye zvino zvinongoda kuti mhando dzive dzakatevedzana uye dzive nehurefu hunogoneka.
- stat(faira) ikozvino ine yakadzama uye yakanakira nzira yekuratidzira.
Standard Library Shanduko
- count and findall ikozvino gamuchira AbstractChar nharo yekutsvaga hunhu mutambo.
- Nzira itsva siyana (kutanga, mira) uye renji(kutanga, mira, kureba).
- range ikozvino inotsigirwa nekutanga seyesarudzo keyword nharo.
- Mamwe mashandiro emhando zvino anodzosera StepRangeLen pachinzvimbo cheStepRange ichibvumira nhanho yekupedzisira kuve zero. Kare, λ .* (1:9) akapa mhosho apo λ = 0.
- islowercase uye isuppercase ikozvino bata madiki uye epamusoro Unicode zvikamu.
- Iwo iseven uye isodd mabasa ikozvino anotsigira marudzi kunze kweInteger.
- escape_string ikozvino inogamuchira hunhu hwakaiswa kuburikidza neicho chengeta kiyi, kune mavara anofanirwa kuramba ari sezvaari.
- getindex yeNamedTuple ikozvino inogamuchira hunhu tuple kuratidza huwandu hwakawanda.
- AbstractRange subtypes inotevera general array indexing maitiro kana uchiisa indexing Bools, zvikanganiso zveBool scalar, uye kana uchibata Bool arrays (kusanganisira masanji) seane musoro indices.
- makiyi(::RegexMatch) inodzosa makiyi ekutora ekutaura kwenguva dzose nezita, kana nendekisi kana pasina mazita.
- keys(::Jenereta) inodzosa makiyi eiyo iterator.
- RegexMatch ikozvino iterates, ichigadzira iyo yakatorwa substrings.
- lpad/rpad inotsanangurwa kuti textwidth.
- Test.@test ikozvino inogamuchira nharo dzine mazita dzakatyoka uye kusvetuka, izvo zvinodzokorora maitiro eTest.@test_broken and Test.@test_skip, asi bvumira bvunzo dzinongokundikana pane mamwe mamiriro kuti isiwe. Semuenzaniso kana T == Float64 @test_broken yakaenzana(yakaoma(imwe(T)) / yakaoma(T(Inf), T(-Inf)), yakaoma(zero(T), zero(T))) zvimwe @test isakaenzana ( yakaoma (imwe(T)) / yakaoma(T(Inf), T(-Inf)), yakaoma(zero(T), zero(T))) magumo anogona kutsiviwa ne @test isaqual(complex(one(T) )) / yakaoma(T(Inf), T(-Inf)), yakaoma(zero(T), zero(T))) yakaputsika=(T == Float64)
- @lock ikozvino yatumirwa kubva kuBase.
- The experimental Base.catch_stack() basa rapiwa zita rekuti current_exceptions() uye rapihwa imwe mhando yekudzoka.
- Mamwe mabasa etrigonometric (sind, cosd, tand, asind, acosd, asecd, acscd, acotd, atand) ikozvino gamuchira sikweya matrix.
- replace(::String) ikozvino yave kugamuchira mapatani akawanda achaiswa kubva kuruboshwe kuenda kurudyi panguva imwe chete, saka patani imwe chete ndiyo ichashandiswa kune chero mavara akapihwa, uye mapatani anozoiswa chete kune ekuisa mavara, kwete kune mamwe anoteedzana anotsiva.
- Hurefu hwekuita pazvikamu zvakapihwa zvemamwe marudzi hauchatarisi kuti huwandu hwakafashukira munguva zhinji. checked_length ibasa idzva rinoshandisa checked arithmetic kusvika pakupfachukira kana mhedzisiro inogona kutakurwa. Kana shandisa SaferIntegers.jl package kana paine njodzi yekufashukira.
- Nzira itsva dzekutsiva dzekutsiva zvinhu muTuple.
Package Manager
- Mune console mode "julia>" yekushandisa- kana kuendesa-mapakeji asina kuisirwa, asi anowanikwa mune registry "pkg> wedzera", inokurudzirwa kuisa iyo pasuru otomatiki.
- Manifest.toml inoshandisa fomati itsva ine metadata itsva, kusanganisira vhezheni yejulia yakagadzira manifestation. Mafomati ekare achiri kutsigirwa mufomati yawo yepakutanga kudzamara mushandisi ashandisa Pkg.upgrade_manifest().
- "pkg> precompile" zvino ichafanoronga mavhezheni matsva emapakeji akatodhawunirodha pane kuamisa kusvika chikamu chinotevera.
- "pkg> rm, pini uye yemahara" ikozvino tsigira "--zvese" nharo yekukumbira chiito pamapakeji ese kamwechete.
- Registries yakatorwa kubva kuPkg Server (kwete git) haisati yaburitswa mumafaira, asi verenga zvakananga kubva mudura mundangariro. Kudzima chimiro ichi, isa shanduko yezvakatipoteredza JULIA_PKG_UNPACK_REGISTRY=chokwadi.
- Izvozvi zvinogoneka kushandisa yekunze git inogoneka pachinzvimbo cheiyo default libgit2 raibhurari yekurodha inoitika kuburikidza neGit protocol nekuisa nharaunda inoshanduka JULIA_PKG_USE_CLI_GIT=chokwadi.
- Marejista akatorwa kubva server Pkg (kwete git) yava kuonekwa seisingachinjike. Kuchinja mafaira avo nemaoko hakugone kuonekwa nePkg session iri kushanda.
- Kuwedzera mapakeji nezita redhairekitori muREPL modhi ikozvino inoda kuisa "./" kuzita kana iyo package iri mudhairekitori razvino; semuenzaniso "wedzera ./Package" pane kuti "wedzera Package". Izvi zvinoitirwa kudzivirira nyonganiso pakati pezita rePackage uye yemuno Package dhairekitori.
- Yakabviswa modhi kiyi yePackageSpec.
Linear algebra
- Shandisa Libblastrampoline kubatanidza BLAS uye LAPACK panguva yekumhanya. Nekutadza, OpenBLAS inoiswa sechikamu chekugovera kwaJulia. Iyo nyowani yekubatanidza michina inogona kushandiswa kutsiva BLAS uye LAPACK neyakajairwa marongero.
- Pane aarch64, OpenBLAS ikozvino inoshandisa ILP64 BLAS, sezvinoita mamwe ese makumi matanhatu-bit mapuratifomu.
- OpenBLAS yakagadziridzwa kuita shanduro 0.3.13.
- SuiteSparse yakagadziridzwa kuita shanduro 5.8.1.
- Chimiro cheUpperHessenberg matrix inochengetedzwa panguva yemamwe arithmetic mashandiro, senge kuwanda kana kupatsanurwa neUpperTriangular matrix.
- Chaiyo quasi-triangular Schur factorizations zvino inogona kushandurwa kuita yakaoma yekumusoro triangular fomu uchishandisa chirevo "Schur{Complex}(S)".
- cis(A) ikozvino inotsigira matrices senharo.
- dot inotsigira UniformScaling yeAbstractMatrix mhando.
- qr[!] uye lu[!] zvino tsigira LinearAlgebra.PivotingStrategy singleton values sechisarudzo chepivot nharo: default tsika dze qr(A, NoPivot()) zvichienzaniswa neqr(A, ColumnNorm()) nekutenderera uye lu( A, RowMaximum()) maringe ne lu(A, NoPivot()) pasina kutenderera. Mafoni eVal{true/false} ekare akaregwa.
- det(M::AbstractMatrix{BigInt}) inodana det_bareiss(M), inoshandisa iyo Bareiss algorithm kuverenga iwo chaiwo makosi.
REPL
- Mitsetse mirefu yava kubviswa pachishandiswa "musoro" ⋯ 12345 bytes ⋯ "muswe" syntax kana yaratidzwa muREPL.
- Kuisa Repl mienzaniso kubva pa clipboard muREPL ikozvino inotsigira ese Repl modhi ( julia, pkg, shell, rubatsiro?)
- "help?>" yemamodule asina docstrings ikozvino inodzosa runyoro rwemazita atengeswa kunze uye inoratidza zvirimo mune inobatanidzwa README.md kana yawanikwa.
SparseArrays
- Nzira itsva saizihint!(::SparseMatrixCSC, ::Integer)\.
- cholesky() ikozvino inochengetedza zvizere mvumo-yakatsanangurwa nemushandisi.
- issparse iko zvino inoshandiswa zvakangofanana kune ese akaputira arrays, kusanganisira nested, nekutarisa issparse yevabereki wrapper array.
Date Manipulation
- Iyo Dates.periods basa rinogona kushandiswa kuwana Vector kukosha kubva kuPeriod kubva kuCompoundPeriod.
Downloads
- Kana iyo cookie musoro wakaiswa muchikumbiro chakadzoserwa, iyo cookie ikozvino inotumirwa mune zvinotevera zvikumbiro.
- Kana iyo ~/.netrc faira iripo, inoshandiswa senzvimbo yepassword yemawebhusaiti ane chokwadi.
- Chiratidzo chezita reseva ikozvino chave kuitika pane ese TLS zvinongedzo, kunyangwe zita reseva risina kusimbiswa (ona NetworkOptions).
- Kana uchitarisa kubatanidza kweTLS mu Windows, kana server отзыва сертификатов недоступен, соединение разрешено; это соответствует тому, что делают другие приложения и как выполняется отзыв в macOS.
- Ikozvino kune 30 yechipiri kumirira kuti kubatana kuitike uye 20 yechipiri kumirira kuti data itumirwe. Izvi zvinova nechokwadi chekuti zvinongedzo zviripo kana kuti zvichabviswa mukati meisingasviki miniti.
Tar
- Tar.extract ikozvino inofuratira iyo chaiyo yemvumo modhi mu tarball uye inojaisa mamodhi nenzira imwe chete iyo Tar.create inoita. Izvo zvakafanana negit.
- Mabasa anoshandisa tar archives ikozvino anobata zvakaoma zvinongedzo: chinangwa chekubatanidza chinofanira kunge chiri faira rakamboonekwa; Tar.list inonyora pekupinda ne :hardlink type ne .link field inoratidza nzira yechinangwa; mamwe mabasa - Tar.extract, Tar.rewrite, Tar.tree_hash - shandura iyo yakaoma link kuita kopi yefaira faira.
- Mafomati akajairwa akagadzirwa neTar.create neTar.rewrite ikozvino anosanganisira zvinyorwa zvemadhairekitori asina chinhu. Mamwe maturusi anoshandisa tarball (kusanganisira docker) anovhiringika nekushaikwa kweiyi dhairekitori zvinyorwa.
- Tar ikozvino inogamuchira tarballs ine nzvimbo dzinotungamira mu octal integer header fields: tekinoroji iyi haisi fomati inoshanda zvinoenderana nePOSIX yakatarwa, asi yekare Solaris tar mirairo yakagadzira zvakachengetwa zvakadaro, saka fomati iyi inoitika musango uye inoita seisina njodzi kubvuma. it.
- Tar.extract ikozvino inotora iyo set_permissions keyword nharo, iyo inosarudzika kune chokwadi; kana nhema dzakapfuudzwa pachinzvimbo, mvumo yemafaira akabviswa haashandurwe kana atorwa.
Mmap
- mmap ikozvino yatengeswa kunze kwenyika uye iripo kuti ishandiswe.
DelimitedFiles
- Readdlm ikozvino inosarudzika to use_mmap=false pane ese anoshanda masisitimu kuti ave nechokwadi chisingachinjiki mumamiriro ezvinhu asina kujairika.
Source: opennet.ru
