Выпуск языка программирования Julia 1.7

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· языка программирования Julia 1.7, ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ качСства ΠΊΠ°ΠΊ высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ встроСнныС срСдства для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования. Бинтаксис Julia Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ MATLAB с заимствованиСм Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… элСмСнтов ΠΈΠ· Ruby ΠΈ Lisp. ΠœΠ΅Ρ‚ΠΎΠ΄ манипуляции строками Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Perl. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности языка:

  • Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся достиТСниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π»ΠΈΠ·ΠΊΠΎΠΉ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ Π½Π° языкС Π‘ΠΈ. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Julia основан Π½Π° Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° LLVM ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ эффСктивный Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ;
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ программирования, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ элСмСнты ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования. Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° прСдоставляСт Π² Ρ‚ΠΎΠΌ числС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для асинхронного Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, управлСния процСссами, вСдСния Π»ΠΎΠ³ΠΎΠ², профилирования ΠΈ управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ;
  • ДинамичСская типизация: язык Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ явного опрСдСлСния Ρ‚ΠΈΠΏΠΎΠ² для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ со скриптовыми языками программирования. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹;
  • ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ явного указания Ρ‚ΠΈΠΏΠΎΠ²;
  • Бинтаксис, прСвосходно подходящий для числСнных вычислСний, Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… расчётов, систСм машинного обучСния ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΈΡ… числовых Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ срСдств для распараллСливания вычислСний.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прямого Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π½Π° языкС Π‘ΠΈ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… прослоСк.

НовыС возмоТности языка Julia 1.7:

  • Новый синтаксис для создания ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для раздСлСния ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ массива, ΠΏΡ€ΠΈ этом количСство Ρ‚ΠΎΡ‡Π΅ΠΊ с запятой ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€. НапримСр, ΠΎΠ΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° с запятой Π² «[A; B]» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΈ (ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΌ массивС), Π΄Π²Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой «[A;; B]» Π΄Π΅Π»Π°ΡŽΡ‚ это Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΈ (ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΡƒΡŽ строку ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹), Ρ‚Ρ€ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой «;;;» Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ ΠΈ Ρ‚.Π΄.
  • ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ косая Ρ‡Π΅Ρ€Ρ‚Π° (\) Π² ΠΊΠΎΠ½Ρ†Π΅ строки Π²Π½ΡƒΡ‚Ρ€ΠΈ строкового Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ удаляСт символ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки ΠΈ отступы. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для раздСлСния Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… строк Π½Π° нСсколько строк ΠΊΠΎΠ΄Π° Π±Π΅Π· добавлСния Π»ΠΈΡˆΠ½ΠΈΡ… символов.
  • ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ косая Ρ‡Π΅Ρ€Ρ‚Π° ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΎΠ²ΠΎΠΉ строкой Π² Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°Ρ… запуска ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ `cmd \…` Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всСгда удаляСт ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ строки ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΊ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ строковыС Π»ΠΈΡ‚Π΅Ρ€Π°Π», Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π½ΡŒΡˆΠ΅ Π½Π΅ Π±Ρ‹Π» Ρ‡Ρ‘Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½.
  • Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ «(; a, b) = x» для создания ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… a ΠΈ b ΠΈΠ· x. Π­Ρ‚ΠΎΡ‚ синтаксис эквивалСнтСн «a = getproperty(x, :a); b = getproperty(x, :b)».
  • НСявноС ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ для символов Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, x√y ΠΈ x∛y).
  • ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ «&&» ΠΈ «||» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ элСмСнтам массива Π² Ρ„ΠΎΡ€ΠΌΠ΅ «.&&» ΠΈ «.||».
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ⫪(U + 2AEA, \Top, \downvDash) ΠΈ ⫫(U + 2AEB, \Bot, \upvDash, \indep) Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² качСствС Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «—check-bounds=yes|no|auto» для контроля Π·Π° макросами @inbounds со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ auto.

ИзмСнСния языка

  • ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ псСвдослучайных чисСл ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½ с Mersenne Twister Π½Π° Xoshiro256++, поэтому всС случайныС числа Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ (Π΄Π°ΠΆΠ΅ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ числом), Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ явный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ RNG. Новый Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, прСвосходныС статистичСскиС характСристики ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для воспроизводимой случайности Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… (сохраняСт состояниС для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ выполняСмой Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ отвСтвляСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ состояниС ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ).
  • ДСструктуризация большС Π½Π΅ измСняСт значСния Π² процСссС присвоСния Π»Π΅Π²ΠΎΠΉ части ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΏΡ€Π°Π²ΠΎΠΉ части выраТСния. НапримСр, для массива x, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ «x[2], x[1] = x» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт x, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Ρ€Π°Π½Π΅Π΅ для заполнСния ΠΎΠ±Π΅ΠΈΡ… записСй использовалось x[1] ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ x[2] измСнялся Π² Ρ…ΠΎΠ΄Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ присвоСния x.
  • macroexpand, @macroexpand ΠΈ @macroexpand1 большС Π½Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ LoadError. @test_throws Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ работоспособными Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Π΅ тСсты.
  • БрСдняя Ρ‚ΠΎΡ‡ΠΊΠ° «Β·» ( \cdotpU + 00b7) ΠΈ грСчСский ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡƒΠ½ΠΊΡ‚ Β·(U + 0387) Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ эквивалСнт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ‚ΠΎΡ‡ΠΊΠΈ «⋅» (\cdotU + 22c5).
  • Π—Π½Π°ΠΊ минус «−» (\minusU + 2212) Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ рассматриваСтся ΠΊΠ°ΠΊ эквивалСнт Π·Π½Π°ΠΊΠ° дСфиса-минус «-» (U + 002d).
  • Iterators.peel(itr) Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ «nothing» ΠΊΠΎΠ³Π΄Π° itr пусто, Π° Π½Π΅ выбрасываСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ BoundsError.
  • НСсколько ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ с запятой Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ массива Ρ€Π°Π½Π΅Π΅ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, «[1 ;; 2] == [1 ; 2]»). Π’Π΅ΠΏΠ΅Ρ€ΡŒ этот синтаксис ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для раздСлСния ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ.
  • НСсбалансированныС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ форматирования «#= … =#» Π² Unicode Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹ Π² строках ΠΈ коммСнтариях, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ parse/eval ΠΊΠΎΠ΄Π°.

ИзмСнСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ julia —project ΠΈ пСрСмСнная окруТСния JULIA_PROJECT Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π²Ρ‹Π±ΠΎΡ€ ΠΎΠ±Ρ‰ΠΈΡ… срСд. НапримСр, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ эквивалСнтны julia —project=@myenv ΠΈ export JULIA_PROJECT=»@myenv».

ИзмСнСния многопоточности

  • Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹ΠΌΠΈ указатСлями Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π±Π°ΠΉΡ‚ΠΎΠ².
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° объявлСния ΠΈ использования ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ для mutable struct ΠΊΠ°ΠΊ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ…; см. Π½ΠΎΠ²Ρ‹ΠΉ макрос @atomic.
  • Если для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния JULIA_NUM_THREADS Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «auto», Ρ‚ΠΎ количСство ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ количСству ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² процСссора.
  • ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Task ΠΈΠΌΠ΅Π΅Ρ‚ локальноС состояниС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° случайных чисСл, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ обСспСчиваСт воспроизводимоС (Π½Π΅ зависящСС ΠΎΡ‚ расписания) Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ модСлирования. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС, Ρ‡Π΅ΠΌ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… вСрсиях.
  • Π—Π°Π΄Π°Ρ‡ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ. РаньшС Π·Π°Π΄Π°Ρ‡Π° всСгда Π·Π°ΠΏΡƒΡΠΊΠ°Π»Π°ΡΡŒ Π² Ρ‚ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запустил Π΅Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ.

НовыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ findmax(f, domain), argmax(f, domain) ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ «min»-вСрсии с двумя Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ.
  • isunordered(x) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, Ссли x — это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ нСупорядочСно, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ NaN ΠΈΠ»ΠΈ missing.
  • Новая функция keepat!(vector, inds), которая являСтся эквивалСнтом vector[inds] списка inds Ρ†Π΅Π»Ρ‹Ρ… чисСл.
  • ΠœΠ΅Ρ‚ΠΎΠ΄ lock(f, lck) для Π΄Π²ΡƒΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Channel качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.
  • Новый Ρ„ΡƒΠ½ΠΊΡ‚ΠΎΡ€ Returns(value) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ value для Π»ΡŽΠ±Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².
  • НовыС макросы @something ΠΈ, @coalesce ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ вСрсиями something ΠΈ coalesce, соотвСтствСнно.
  • Новая функция redirect_stdio для пСрСнаправлСния stdin, stdoutΠΈ stderr.
  • Новый макрос «Base.@invoke f(arg1::T1, arg2::T2; kwargs…)» обСспСчиваСт простой синтаксис для Π²Ρ‹Π·ΠΎΠ²Π° «invoke(f, Tuple{T1,T2}, arg1, arg2; kwargs…)».
  • Новый макрос «Base.@invokelatest f(args…; kwargs…)» обСспСчиваСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ Π²Ρ‹Π·ΠΎΠ²Π° «Base.invokelatest(f, args…; kwargs…)».

НовыС возмоТности Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

  • ΠšΠΎΡ€Ρ‚Π΅ΠΆ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом context Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ «:key => value», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π² IOContext.
  • bytes2hex ΠΈ hex2bytes большС Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° «Union{String,AbstractVector{UInt8}}» ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΈΠΏΡ‹ Π±Ρ‹Π»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ ΠΈ ΠΈΠΌΠ΅Π»ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΠΌΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ.
  • stat(file) ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ show ΠΌΠ΅Ρ‚ΠΎΠ΄.

ИзмСнСния стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

  • count ΠΈ findall Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ AbstractChar Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ для поиска символа Π² строкС.
  • НовыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ range(start, stop) ΠΈ range(start, stop, length).
  • range Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ поддСрТиваСтся start ΠΊΠ°ΠΊ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚.
  • НСкоторыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ StepRangeLen вмСсто StepRange позволяя Π±Ρ‹Ρ‚ΡŒ Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌΡƒ ΡˆΠ°Π³Ρƒ. РаньшС λ .* (1:9) Π²Ρ‹Π΄Π°Π²Π°Π» ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΈ λ = 0.
  • islowercase ΠΈ isuppercase Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Unicode-ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΠΈ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ рСгистра.
  • iseven ΠΈ isodd Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ‚ΠΈΠΏΡ‹ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ Integer.
  • escape_string Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ символов Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово keep, для символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΈΠΌΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ.
  • getindex для NamedTuple Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ символов для индСксации Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
  • ΠŸΠΎΠ΄Ρ‚ΠΈΠΏΡ‹ AbstractRange ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ повСдСнию индСксации массивов ΠΏΡ€ΠΈ индСксировании Bool, ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… для скаляров Bool ΠΈ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ массивов (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹) Bool ΠΊΠ°ΠΊ логичСских индСксов.
  • keys(::RegexMatch) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ capture-ΠΊΠ»ΡŽΡ‡ΠΈ рСгулярного выраТСния ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΈΠ»ΠΈ ΠΏΠΎ индСксу, Ссли ΠΈΠΌΡ‘Π½ Π½Π΅Ρ‚.
  • keys(::Generator) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°.
  • RegexMatch Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ итСрируСтся, выдавая Π·Π°Ρ…Π²Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ подстроки.
  • lpad/rpad ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² для textwidth.
  • Test.@test Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ broken ΠΈ skip, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Test.@test_broken ΠΈ Test.@test_skip, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ тСсты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π²Π°Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… условиях. НапримСр if T == Float64 @test_broken isequal(complex(one(T)) / complex(T(Inf), T(-Inf)), complex(zero(T), zero(T))) else @test isequal(complex(one(T)) / complex(T(Inf), T(-Inf)), complex(zero(T), zero(T))) end ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° @test isequal(complex(one(T)) / complex(T(Inf), T(-Inf)), complex(zero(T), zero(T))) broken=(T == Float64)
  • @lock Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ экспортируСтся ΠΈΠ· Base.
  • Π­ΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ функция Base.catch_stack() ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π° Π² current_exceptions() ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния.
  • НСкоторыС тригономСтричСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (sind, cosd, tand, asind, acosd, asecd, acscd, acotd, atand) Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ.
  • replace(::String) Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ нСсколько шаблонов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, поэтому ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ символу Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ шаблон, Π° ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΌΡƒ тСксту, Π½ΠΎ Π½Π΅ ΠΊ ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π·Π°ΠΌΠ΅Π½Π°ΠΌ.
  • Ѐункция length Π½Π° Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² большС Π½Π΅ провСряСт integer-ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв. checked_length — новая функция, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΡƒΡŽ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΡƒ Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ пСрСполнСния, Ссли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ с пСрСносом. Или ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ SaferIntegers.jl, Ссли Π΅ΡΡ‚ΡŒ риск пСрСполнСния Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.
  • НовыС replace ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Π·Π°ΠΌΠ΅Π½Ρ‹ элСмСнтов Π² Tuple.

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

  • Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ консоли «julia>» для using- ΠΈΠ»ΠΈ import-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ установлСны, Π½ΠΎ доступны Π² рССстрС «pkg> add», прСдлагаСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ автоматичСски.
  • Manifest.toml ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ с Π½ΠΎΠ²Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²Π΅Ρ€ΡΠΈΡŽ julia, которая сгСнСрировала манифСст. ΠœΠ°Π½ΠΈΡ„Π΅ΡΡ‚Ρ‹ старого Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² исходном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ запустит Pkg.upgrade_manifest().
  • «pkg> precompile» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ вСрсии ΡƒΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π° Π½Π΅ ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ сСанса.
  • «pkg> rm, pin ΠΈ free» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ «—all» для Π²Ρ‹Π·ΠΎΠ²Π° дСйствия для всСх ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² сразу.
  • РССстры, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ с Pkg Server (Π½Π΅ git), большС Π½Π΅ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ»Ρ‹, Π° Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ нСпосрСдствСнно ΠΈΠ· Π°Ρ€Ρ…ΠΈΠ²Π° Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, установитС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ срСды JULIA_PKG_UNPACK_REGISTRY=true.
  • Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ внСшний исполняСмый Ρ„Π°ΠΉΠ» git вмСсто Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ libgit2 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ происходят Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Git, установив ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ срСды JULIA_PKG_USE_CLI_GIT=true.
  • РССстры, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ с сСрвСра Pkg (Π½Π΅ git), Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ нСизмСняСмыми. ИзмСнСния, внСсённыС Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π² ΠΈΡ… Ρ„Π°ΠΉΠ»Ρ‹, ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ приняты Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌ сСансом Pkg.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ REPL Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ добавлСния «./» ΠΊ ΠΈΠΌΠ΅Π½ΠΈ, Ссли ΠΏΠ°ΠΊΠ΅Ρ‚ находится Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅; Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ «add ./Package» вмСсто «add Package». Π­Ρ‚ΠΎ сдСлано для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Package ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ Package.
  • Π£Π΄Π°Π»Π΅Π½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово mode для PackageSpec.

ЛинСйная Π°Π»Π³Π΅Π±Ρ€Π°

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Libblastrampoline для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ BLAS ΠΈ LAPACK Π²ΠΎ врСмя выполнСния. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ OpenBLAS ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² составС дистрибутива Julia. Новый ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для Π·Π°ΠΌΠ΅Π½Ρ‹ BLAS ΠΈ LAPACK ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ настройками.
  • На aarch64 OpenBLAS Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ILP64 BLAS, Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ всС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ 64-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.
  • OpenBLAS ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ Π΄ΠΎ вСрсии 0.3.13.
  • SuiteSparse ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ Π΄ΠΎ вСрсии 5.8.1.
  • Π€ΠΎΡ€ΠΌΠ° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ UpperHessenberg сохраняСтся ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… арифмСтичСских опСрациях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π½Π° UpperTriangular ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ.
  • Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ²Π°Π·ΠΈΡ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Π¨ΡƒΡ€Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π²Π΅Ρ€Ρ…Π½Π΅Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ выраТСния «Schur{Complex}(S)».
  • cis(A) Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹.
  • dot ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ UniformScaling для Ρ‚ΠΈΠΏΠ° AbstractMatrix.
  • qr[!] ΠΈ lu[!] Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ значСния LinearAlgebra.PivotingStrategy одноэлСмСнтного Ρ‚ΠΈΠΏΠ° Π² качСствС Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ pivot-Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°: значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ qr(A, NoPivot()) ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ qr(A, ColumnNorm()) с ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ΠΎΠΌ ΠΈ lu(A, RowMaximum()) ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с lu(A, NoPivot()) Π±Π΅Π· ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°. ΠŸΡ€Π΅ΠΆΠ½ΠΈΠ΅ Val{true/false} Π²Ρ‹Π·ΠΎΠ²Ρ‹ устарСли.
  • det(M::AbstractMatrix{BigInt}) Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ det_bareiss(M), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Bareiss для вычислСния Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

REPL

  • Π”Π»ΠΈΠ½Π½Ρ‹Π΅ строки Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ с использованиСм синтаксиса «head» ⋯ 12345 bytes ⋯ «tail» ΠΏΡ€ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π² REPL.
  • Вставка Repl ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π° Π² REPL Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ всС Ρ€Π΅ΠΆΠΈΠΌΡ‹ Repl ( julia, pkg, shell, help?) ΠΈ Ρ€Π΅ΠΆΠΈΠΌ автоматичСски ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ.
  • «help?>» для ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π±Π΅Π· строк Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список экспортированных ΠΈΠΌΠ΅Π½ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ содСрТимоС связанного, README.md Ссли ΠΎΠ½ΠΎ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ.

SparseArrays

  • Новый ΠΌΠ΅Ρ‚ΠΎΠ΄ sizehint!(::SparseMatrixCSC, ::Integer)\.
  • cholesky() Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ сохраняСт ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ пСрСстановку.
  • issparse Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ примСняСтся согласованно ΠΊΠΎ всСм массивам-ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠ°ΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅, ΠΏΡƒΡ‚Ρ‘ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ issparse Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ массива ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ.

ΠœΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ†ΠΈΠΈ с Π΄Π°Ρ‚Π°ΠΌΠΈ

  • Ѐункция Dates.periods ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для получСния Vector-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· Period ΠΈΠ· CompoundPeriod.

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

  • Если Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ cookie установлСн Π² ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠΌ запросС, cookie Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… запросах.
  • Если Ρ„Π°ΠΉΠ» ~/.netrc сущСствуСт, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ источник ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ для Π²Π΅Π±-сайтов с Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ.
  • Π˜Π½Π΄ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ сСрвСра Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ выполняСтся со всСми TLS-соСдинСниями, Π΄Π°ΠΆΠ΅ Ссли ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ сСрвСра Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π° (см. NetworkOptions).
  • ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ TLS-соСдинСний Π² Windows, Ссли сСрвСр ΠΎΡ‚Π·Ρ‹Π²Π° сСртификатов нСдоступСн, соСдинСниС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ; это соотвСтствуСт Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ прилоТСния ΠΈ ΠΊΠ°ΠΊ выполняСтся ΠΎΡ‚Π·Ρ‹Π² Π² macOS.
  • Π’Π΅ΠΏΠ΅Ρ€ΡŒ сущСствуСт 30-сСкундноС ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΊΡ‚Π° соСдинСниС ΠΈ 20-сСкундноС ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ соСдинСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΆΠΈΠ²Ρ‹ΠΌΠΈ, ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΈΠ½ΡƒΡ‚Ρƒ.

Tar

  • Tar.extract Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π² tarball ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌΡ‹ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Π΅Ρ‚ это Tar.create. Π§Ρ‚ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ git.
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΠ²Ρ‹ tar, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ТСсткиС ссылки: Ρ†Π΅Π»ΡŒΡŽ ссылки Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π½Π΅Π΅ просмотрСнный Ρ„Π°ΠΉΠ»; Tar.list пСрСчисляСт запись с :hardlink Ρ‚ΠΈΠΏΠΎΠΌ ΠΈ .link ΠΏΠΎΠ»Π΅ΠΌ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ†Π΅Π»ΠΈ; Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ — Tar.extract, Tar.rewrite, Tar.tree_hash — ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΠΆΠ΅ΡΡ‚ΠΊΡƒΡŽ связь Π² копию Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.
  • Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, созданный Tar.create ΠΈ Tar.rewrite Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ записи для нСпустых ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². НСкоторыС инструмСнты, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ tarball (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄ΠΎΠΊΠ΅Ρ€), ΡΠ±ΠΈΠ²Π°ΡŽΡ‚ΡΡ с Ρ‚ΠΎΠ»ΠΊΡƒ ΠΈΠ·-Π·Π° отсутствия этих записСй Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.
  • Tar Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ tarball с Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ Π² Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… цСлочислСнных полях Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°: тСхничСски это нСдопустимый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ согласно спСцификации POSIX, Π½ΠΎ старыС tar ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Solaris создавали Ρ‚Π°ΠΊΠΈΠ΅ Π°Ρ€Ρ…ΠΈΠ²Ρ‹, поэтому этот Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ встрСчаСтся Π² Π΄ΠΈΠΊΠΎΠΉ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅, ΠΈ каТСтся Π±Π΅Π·Π²Ρ€Π΅Π΄Π½Ρ‹ΠΌ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ.
  • Tar.extract Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ set_permissions Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π΅Π½ true; Ссли false пСрСдаётся вмСсто этого, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠ·Π²Π»Π΅Ρ‡Ρ‘Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ.

Mmap

  • mmap Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ экспортируСтся ΠΈ доступСн для использования.

DelimitedFiles

  • Readdlm Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ use_mmap=false Π²ΠΎ всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах для обСспСчСния ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ надёТности Π² Π½Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ситуациях с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru