Ho lokolloa ha puo ea lenaneo la Julia 1.7 ho hatisitsoe, ho kopanya litšoaneleho tse kang ts'ebetso e phahameng, tšehetso bakeng sa lisebelisoa tse matla tsa ho thaepa le lisebelisoa tse hahiloeng bakeng sa mananeo a tšoanang. Syntax ea Julia e haufi le MATLAB, e alima likarolo tse ling ho Ruby le Lisp. Mokhoa oa ho qhekella oa likhoele o re hopotsa Perl. Khoutu ea projeke e ajoa tlasa laesense ea MIT.
Likarolo tsa bohlokoa tsa puo:
- Ts'ebetso e phahameng: e 'ngoe ea lipheo tsa bohlokoa tsa morero ke ho fihlela ts'ebetso e haufi le mananeo a C. Moqapi oa Julia o thehiloe mosebetsing oa morero oa LLVM mme o hlahisa khoutu ea mochine oa tlhaho o sebetsang hantle bakeng sa liforomo tse ngata tse lebisitsoeng;
- E ts'ehetsa li-paradigms tse fapaneng tsa mananeo, ho kenyeletsoa likarolo tsa mananeo a shebaneng le ntho le a sebetsang. Laeborari e tloaelehileng e fana ka, har'a tse ling, mesebetsi bakeng sa I/O e sa ts'oaneng, taolo ea ts'ebetso, ho rema lifate, ho etsa profil, le taolo ea liphutheloana;
- Ho ngola ka matla: puo ha e hloke tlhaloso e hlakileng ea mefuta bakeng sa mefuta e fapaneng, e ts'oanang le lipuo tsa scripting programming. Mokhoa oa ho sebelisana o tšehelitsoe;
- Bokhoni ba boikhethelo ba ho hlakisa mefuta ka ho hlaka;
- Syntax e loketseng khomphutha ea lipalo, khomphutha ea mahlale, ho ithuta ka mochini, le pono ea data. Ts'ehetso bakeng sa mefuta e mengata ea lintlha tsa lipalo le lisebelisoa tsa ho tsamaisana ha lipalo.
- Bokhoni ba ho letsetsa mesebetsi ka kotloloho ho tsoa lilaebraring tsa C ntle le likarolo tse ling.
Likarolo tse ncha tsa puo ea Julia 1.7:
- Syntax e ncha ea ho theha mefuta e mengata ea li-multidimensional. Li-semicolons li sebelisoa ho arola litekanyo tse fapaneng, ka palo ea li-semicolon tse bontšang boholo. Ka mohlala, semikholone e le 'ngoe ho "[A; B]" e bolela khokahanyo karolong ea pele (ka ho otloloha ka tatellano ea lehlakore le le leng), li-semicolon tse peli "[A;; B]" li e etsa karolong ea bobeli (ka rapama e le mola o mocha ka har'a matrix), li-semicolon tse tharo ";;;" ho ea boraro, joalo-joalo.
- Ho khutlela morao (\) qetellong ea mola ka har'a khoele ea sebele hona joale ho tlosa tlhaku e ncha le indentation. Sena se ka sebelisoa ho arola mela e melelele ka mela e mengata ea khoutu ntle le ho eketsa litlhaku tse ling.
- Ho khutlela morao ka pel'a mohala o mocha ka ho console o laela literals `cmd \…` hona joale o tlosa mola o mocha le ho fetolela tatellano e le khoele e tsoelang pele, athe sephetho se ne se sa hlalosoa pele.
- Polelo "(; a, b) = x" ho theha mefuta e fapaneng ea a le b ho tsoa ho x. Syntax ena e lekana le "a = getproperty(x, :a); b = getproperty(x, :b)".
- Katiso e fetelletseng joale e lumelletsoe bakeng sa matšoao a matla (mohlala, x√y le x∛y).
- Basebelisi ba utloahalang "&&" le "||" e ka sebelisoa hona joale ho li-array elements ka mokhoa oa ".&&" le ".||".
- Basebelisi ⫪(U+2AEA, \Top, \downvDash) le ⫫(U+2AEB, \Bot, \upvDash, \indep) joale li ka sebelisoa e le li- binary operators.
- E kenyellelitsoe "--check-bounds=e|no|auto" khetho ea ho laola @inbounds macros ka boleng bo ikhethileng ba auto.
Puo e fetoha
- Jenereithara ea kamehla ea pseudo-random number e fetotsoe ho tloha ho Mersenne Twister ho ea Xoshiro256++, kahoo linomoro tsohle tse sa reroang li tla fapana (esita le ka peo e tšoanang) ntle le haeba ho sebelisoa ntho e hlakileng ea RNG. Jenereithara e ncha e na le ts'ebetso e ntlafetseng, lipalo-palo tse phahameng, 'me e sebelisetsoa ho ikatisetsa ka mokhoa o sa reroang mananeong a mefuta e mengata (e boloka boemo bakeng sa mosebetsi o mong le o mong o sebetsang le lifereko ho tloha sebakeng se arohaneng ha mosebetsi o mocha o etsoa).
- Ho senya ha ho sa fetola boleng nakong ea kabelo ea letsoho le letšehali ha ho khutlisa boleng ho tloha ka letsohong le letona la polelo. Mohlala, bakeng sa sehlopha sa x, poleloana "x[2], x[1] = x" joale e tla fapanyetsana likarolo tsa pele le tsa bobeli tsa x, athe nakong e fetileng x[1] e ne e tla sebelisoa ho tlatsa litlhaloso ka bobeli hobane x[2] e fetotsoe nakong ea phetisetso ea kabelo ho x.
- macroexpand, @macroexpand, le @macroexpand1 ha e sa hlola e lahla LoadError. @test_throws le eona e fetotsoe ho boloka liteko tse amehileng li sebetsa.
- Letheba le bohareng "·" (\cdotpU+00b7) le interpunct ea Segerike · (U+0387) joale li nkuoa li lekana le "⋅" (\cdotU+22c5)"
- Letšoao la ho tlosa '−' (\minusU+2212) joale le nkoa le lekana le lets'oao la ho tlosa '-' (U+002d).
- Iterators.peel(itr) joale e khutlisa "ha ho letho" ha e se na letho, ho e-na le ho lahlela mokhelo oa BoundsError.
- Li-semicolons tse ngata tse latellanang ka poleloana ea sehlopha li kile tsa hlokomolohuoa (mohlala "[1 ;; 2] == [1 ; 2]"). Syntax ena e se e sebelisoa ho arola litekanyo.
- Litaelo tsa ho fometa tse sa leka-lekanang tsa Unicode "#= ... =#" ha li sa lumelloa ka likhoele le maikutlo ho fokotsa monyetla oa ente ea khoutu ea parse/eval.
Liphetoho ho Khetho ea Mola oa Taelo
- Khetho ea julia --project le phetoho ea tikoloho ea JULIA_PROJECT joale e tšehetsa ho khetha libaka tse arolelanoang. Mohlala, julia --project=@myenv and export JULIA_PROJECT="@myenv" li se li lekana.
Liphetoho tse ngata
- Lintlha tse mabapi le ts'ebetso ea pointer ea atomic li se li hlalositsoe ka boholo bo itseng ba li-byte.
- Ts'ehetso e ekelitsoeng bakeng sa ho phatlalatsa le ho sebelisa likarolo tsa motho ka mong tsa sebopeho se feto-fetohang joalo ka athomo; bona e ncha @atomic macro.
- Haeba sebopeho sa tikoloho sa JULIA_NUM_THREADS se behiloe ho "auto", palo ea likhoele e tla lekana le palo ea likhoele tsa processor.
- Ntho e 'ngoe le e' ngoe ea Mosebetsi e na le sebaka sa jenereithara sa palo e sa reroang, eo ka nako e sa lekanyetsoang e netefatsang ts'ebetso e ts'oanang (e ikemetseng) ea khoutu ea papiso e tšoanang. Jenereithara e boetse e sebetsa ka potlako e bapang ho feta liphetolelong tse fetileng ka boiketsetso.
- Mesebetsi joale e ka suthisoa lipakeng tsa likhoele. Pele, mosebetsi o ne o lula o sebetsa khoeleng e o tsamaisitseng pele.
Mesebetsi e mecha ea laebrari
- Mekhoa e ekelitsoeng findmax(f, domain), argmax(f, domain) le liphetolelo tse tsamaellanang tsa "min" tse nang le likhang tse peli.
- iunordered(x) e khutlisa 'nete haeba x e le boleng bo sa lokelang ho hlophisoa, joalo ka NaN kapa bo sieo.
- New function keepat!(vector, inds) e lekanang le vector[inds] ea lenane la manane a kakaretso.
- Mokhoa oa ho notlela likhang tse peli (f, lck) joale o amohela Channel joalo ka khang ea eona ea bobeli.
- Functor e ncha Returns(value) e khutlisa boleng ba likhang life kapa life.
- New macros @something le @coalesce e leng mefuta ea ntho e itseng le coalesce, ka ho latellana.
- Mosebetsi o mocha oa redirect_stdio bakeng sa ho tsamaisa stdin, stdout, le stderr.
- Macro e ncha "Base.@invoke f(arg1::T1, arg2::T2; kwargs…)" e fana ka syntax e bonolo ea ho bitsa "invoke(f, Tuple{T1,T2}, arg1, arg2; kwargs…)".
- Macro e ncha "Base.@invokelatest f(args…; kwargs…)" e fana ka mokhoa o bonolo oa ho letsetsa "Base.invokelatest(f, args…; kwargs…)".
Likarolo tse ncha tsa laebrari
- A tuple e ka bōptjoa ka lentsoe la sehlooho la moelelo ka sebopeho ": key => value" ho hlalosa litšobotsi tse lokelang ho fetisetsoa ho IOContext.
- bytes2hex le hex2bytes ha li sa lekanyetsoa ho likhang tsa mofuta oa "Union{String,AbstractVector{UInt8}}"' me joale li hloka feela hore mefuta e be le tatellano le bolelele bo sebetsang.
- stat(file) e fumane mokhoa o hlakileng le o bonolo oa ho bonts'a.
Liphetoho tsa Laeborari e Tloaelehileng
- count and findall joale nka khang ea AbstractChar ho batla sebapali khoeleng.
- Mefuta e mecha ea mekhoa (qala, emisa) le mefuta (qala, emisa, bolelele).
- range hona joale e tšehetsa qalo e le khang ea mantsoe a bohlokoa.
- Mesebetsi e meng e fapaneng joale e khutlisa StepRangeLen sebakeng sa StepRange e lumellang mohato oa ho qetela hore e be zero. Nakong e fetileng λ .* (1:9) e ne e tla hlahisa phoso ha λ = 0.
- litlhaku tse nyane le tse kholo joale li sebetsana le mekhahlelo e meholo ea Unicode.
- mesebetsi ea iseven le isodd joale e tšehetsa mefuta e meng ntle le Integer.
- escape_string joale e amohela sehlopha sa batho bao ho buuoang ka bona ka keep keyword, bakeng sa litlhaku tse lokelang ho sala kamoo li leng ka teng.
- getindex bakeng sa NamedTuple hona joale e amohela palo e 'ngoe ea litlhaku ho supa boleng bo bongata.
- Li-subtypes tsa AbstractRange li latela mokhoa o akaretsang oa li-index ha u hlahisa li-Bools, liphoso tsa Bool scalar, le ha u tšoara lihlopha (ho kenyeletsoa le mefuta) ea Bools e le li-indices tse utloahalang.
- keys(::RegexMatch) e khutlisa linotlolo tsa polelo e tloaelehileng ka lebitso, kapa ka index haeba ho se na mabitso.
- keys(::Jenereithara) e khutlisa linotlolo tsa iterator.
- RegexMatch joale e pheta-pheta, e fana ka li-substrings tse hapiloeng.
- lpad/rpad li hlalosoa ka bophara ba mongolo.
- Test.@test hona joale e amohela likhang tse boletsoeng tse robehileng le ho tlola, tse pheta-phetoang boitšoaro ba Test.@test_broken and Test.@test_skip, empa e u lumella ho tlola liteko tse sa atleheng tlas'a maemo a itseng feela. Mohlala, haeba T == Float64 @test_broken e lekana(e rarahaneng(one(T)) / complex(T(Inf), T(-Inf)), complex(zero(T), zero(T)))) else @test e lekana(complex(one(T)) / complex(T(Inf), T(-Inf)), complex(test e ka nkeloa sebaka)T) e leka-lekane(e rarahaneng(e le' ngoe(T)) / e rarahaneng(T(Inf), T(-Inf)), e rarahaneng(zero(T), lefela(T))) e robehileng=(T == Float64)
- @lock e se e rometsoe kantle ho naha ho tsoa Base.
- Mosebetsi oa liteko oa Base.catch_stack() o rehelletsoe ho current_exceptions() mme o na le mofuta o itseng oa ho khutlisa.
- Mesebetsi e meng ea trigonometric (sind, cosd, tand, asind, acosd, asecd, acscd, acotd, atand) joale e amohela matrix a sekoere.
- replace(::String) joale e amohela lipaterone tse ngata, tse tla sebelisoa ho tloha ka letsohong le letšehali ho ea ho le letona ka nako e le 'ngoe, kahoo ho tla sebelisoa paterone e le' ngoe feela ho mongolo o mong le o mong, 'me lipaterone li tla sebetsa feela mongolong o kentsoeng, eseng ho tse nchafatsoang ka ho latellana.
- Bolelele ba mefuta e meng ea mefuta e itseng ha e sa hlola e hlahloba palo e felletseng maemong a mangata. checked_length ke ts'ebetso e ncha e sebelisang arithmetic e hlahlobiloeng ho fihlela moo e phallang haeba sephetho se ka khona ho jara. Kapa sebelisa sephutheloana sa SaferIntegers.jl haeba ho na le kotsi ea ho phalla ha mefuta e mengata.
- Mekhoa e mecha ea ho fetola likarolo ho Tuple.
Motsamaisi oa Sephutheloana
- Ka mokhoa oa console "julia>" bakeng sa ho sebelisa- kapa ho kenya liphutheloana tse sa kenngoa, empa li fumaneha ho ngolisoang "pkg> eketsa", ho kgothaletswa ho kenya sephutheloana ka bohona.
- Manifest.toml e sebelisa sebopeho se secha se nang le metadata e ncha, ho kenyeletsoa le mofuta oa julia o hlahisitseng ponahalo. Lipontšo tsa khale li ntse li tšehetsoa ka mokhoa oa tsona oa pele, ho fihlela mosebelisi a sebelisa Pkg.upgrade_manifest().
- "pkg> precompile" e se e tla bokella lipakete tse ncha tse seng li kopitsoe, ho fapana le ho li chechisetsa morao ho fihlela lenaneo le latelang.
- "pkg> rm, pin, and free" joale e tšehetsa khang ea "--all" ho kopa ketso ho liphutheloana tsohle hang-hang.
- Liregistries tse jarollotsoeng ho tsoa ho Pkg Server (eseng git) ha li sa phutholoha lifaeleng, empa li baloa ka kotloloho ho tsoa polokelong ho ea mohopolong. Ho tima tšobotsi ena, seta sebopeho sa tikoloho JULIA_PKG_UNPACK_REGISTRY=nete.
- Hona joale hoa khoneha ho sebelisa git ea kantle e ka phethisoang sebakeng sa laeborari ea libgit2 ea kamehla bakeng sa download e hlahang ka protocol ea Git ka ho beha phetoho ea tikoloho JULIA_PKG_USE_CLI_GIT=nete.
- Lingoliso tse jarollotsoeng ho tsoa ho seva Pkg (eseng git) jwale e nkuwa e sa fetohe. Diphetoho tse etswang ka letsoho difaeleng tsa bona di kanna tsa se ke tsa fumanwa ke kopano ya Pkg e ntseng e sebetsa.
- Ho eketsa liphutheloana ka mabitso a li-directory ka mokhoa oa REPL hona joale ho hloka ho eketsa "./" lebitsong haeba sephutheloana se le bukeng ea hona joale; mohlala "eketsa ./Package" sebakeng sa "eketsa Sephutheloana". Sena ke ho qoba pherekano lipakeng tsa lebitso la sephutheloana Package le directory ea lehae ea Package.
- Lentsoe la bohlokoa la mokhoa o tlositsoeng bakeng sa PackageSpec.
Linear algebra
- Sebelisa Libblastrampoline ho thusa BLAS le LAPACK ka nako ea ho sebetsa. Ka mokhoa o ikhethileng, OpenBLAS e lumelloa e le karolo ea kabo ea Julia. Mochini o mocha oa ho thusa o ka sebelisoa ho nkela BLAS le LAPACK sebaka ka litlhophiso tse hlalositsoeng ke basebelisi.
- Ho aarch64, OpenBLAS joale e sebelisa ILP64 BLAS, joalo ka lipolanete tse ling tsohle tsa 64-bit.
- OpenBLAS e ntlafalitsoe hore e be mofuta oa 0.3.13.
- SuiteSparse e ntlafalitsoe hore e be mofuta oa 5.8.1.
- Sebopeho sa matrix a UpperHessenberg se bolokiloe tlasa ts'ebetso e itseng ea arithmetic, joalo ka ho atisa kapa karohano ka matrix a UpperTriangular.
- Lintlha tsa 'nete tsa quasi-triangular Schur factorizations joale li ka fetoloa ho ba sebopeho se rarahaneng sa kgutlotharo ho sebelisoa poleloana "Schur{Complex}(S)".
- cis(A) joale e tšehetsa matrices e le likhang.
- dot e tšehetsa UniformScaling bakeng sa mofuta oa AbstractMatrix.
- qr[!] le lu[!] joale li tšehetsa lineton ea LinearAlgebra.PivotingStrategy e le khang ea boikhethelo ea pivot: litekanyetso tsa kamehla ke qr(A, NoPivot()) khahlano le qr(A, ColumnNorm()) ka pivot, le lu(A, RowMaximum ()) ntle le pivot ()) ntle le pivot ()) Mehala e fetileng ea Val{true/false} ha e sa sebetsa.
- det(M::AbstractMatrix{BigInt}) e bitsa det_bareiss(M), e sebelisang algorithm ea Bareiss ho kopanya litekanyetso tse nepahetseng.
PUSA
- Hona joale mela e melelele e tlosoa ho sebelisoa syntax "head" ⋯ 12345 bytes ⋯ "mohatla" ha e hlahisoa ho REPL.
- Ho beha mehlala ea Repl ho clipboard ho REPL hona joale e ts'ehetsa mekhoa eohle ea Repl ( julia, pkg, shell, help? ) 'me mokhoa o fetoha ka bohona.
- "help?>" bakeng sa li-module tse se nang docstrings joale e khutlisa lethathamo la mabitso a rometsoeng kantle ho naha le ho hlahisa litaba tsa README.md e amanang le eona haeba e fumanoa.
SparseArrays
- Tlhahiso ea boholo ba mokhoa o mocha!(::SparseMatrixCSC, ::Integer)\.
- cholesky() joale e boloka ka botlalo tumello e boletsoeng ke mosebelisi.
- issparse e se e sebelisoa ka mokhoa o tsitsitseng ho lihlopha tsohle tsa wrapper, ho kenyelletsa le tse entsoeng ka sehlaha, ka ho hlahloba li-issparse tsa lihlopha tsa motsoali oa wrapper.
Ho qhekella ha letsatsi
- Mosebetsi oa "Dates.periods" o ka sebelisoa ho fumana boleng ba Vector ho tloha nakong ea CompoundPeriod.
Lits'oants'o
- Haeba hlooho ea cookie e behiloe kopong e fetisitsoeng, cookie e se e tla romelloa likopo tse latelang.
- Haeba faele ea ~/.netrc e le teng, e sebelisoa e le mohloli oa li-password bakeng sa liwebsaete tse hlokang ho netefatsoa.
- Pontšo ea lebitso la seva e se e etsoa ka likhokahano tsohle tsa TLS, leha boitsebiso ba seva bo sa netefatsoa (sheba NetworkOptions).
- Ha o hlahloba dikgokelo tsa TLS ho Windows, haeba seva отзыва сертификатов недоступен, соединение разрешено; это соответствует тому, что делают другие приложения и как выполняется отзыв в macOS.
- Hona joale ho na le metsotsoana e 30 ea ho emela hore ho be le khokahanyo e tla thehoa le metsotsoana e 20 ho emela hore data e romeloe. Sena se netefatsa hore likhokahano lia phela kapa li tla khaoha ka nako e ka tlase ho motsotso.
Tar
- Tar.extract joale e iphapanyetsa mokhoa o nepahetseng oa tumello ea tarball mme e etsa hore mekhoa e tloaelehe ka tsela e tšoanang le eo Tar.create e etsang. E tšoanang le git.
- Mesebetsi e sebelisang li-archive tsa tar hona joale e sebetsana le lihokelo tse thata: sepheo sa khokahano e tlameha ho ba faele e shebiloeng pele; Tar.list e thathamisa kenyo ka mofuta oa :hardlink le karolo ea .link e hlalosang tsela e lebang sepheo; mesebetsi e meng - Tar.extract, Tar.rewrite, Tar.tree_hash - fetola sehokelo se thata hore e be kopi ea faele e lebisitsoeng.
- Sebopeho se tloaelehileng se entsoeng ke Tar.create le Tar.rewrite hona joale se kenyelletsa likenyelletso tsa li-directory tse se nang letho. Lisebelisoa tse ling tse sebelisang tarball (ho kenyeletsoa le docker) li ferekanngoa ke khaello ea li-directory tsena.
- Hona joale Tar e amohela li-tarball tse nang le libaka tse etellang pele masimong a lihlooho tsa octal: ena ke sebopeho se sa sebetseng ho latela litlhaloso tsa POSIX, empa litaelo tsa khale tsa Solaris tar li thehile li-archive tse joalo, kahoo sebopeho sena se etsahala naheng, 'me ho bonahala ho se kotsi ho e amohela.
- Tar.extract hona joale e amohela tlhaloso ea mantsoe a sehlooho ea set_permissions e sa fetoheng ho 'nete; haeba ho fetisoa leshano ho e-na le hoo, litumello tsa lifaele tse nkiloeng ha li fetoloe nakong ea ho ntšoa.
Mmapa
- mmap e se e rometsoe kantle ho naha 'me e fumaneha ho sebelisoa.
DelimitedFiles
- Hona joale Readdlm e ea ho use_mmap=false lits'ebetsong tsohle tsa ts'ebetso ho netefatsa ts'epo e ts'epahalang maemong a sa tloaelehang a sistimi.
Source: opennet.ru
