Изменения в версии 0.6

Уже давно висит Julia v0.6.0 Release Notes по адресу https://github.com/JuliaLang/julia/blob/master/NEWS.md

Теперь, когда выложена пре-альфа версия, можно вкратце перечислить, что будет в 0.6.

Здесь я напишу, только самые интересные из тех изменений, которые смог понять без детального ознакомления с кодом.

  • В объявлениях типов можно ссылаться на ранее упомянутый типовой параметр: type Foo{R<:Real, A<:AbstractArray{R}}
  • Наконец, можно будет сказать так: Array{T} where T<:Intege

Анонимные функции с использованием этого синтаксиса можно объявлять так ((x::Array{T}) where T<:Real) -> 2x

  • Возможен неявный типовой параметр: Vector{<:Real} что значит: Vector{T} where T<:Real
  • Вместо immutable лучше писать struct

  • Вместо type - лучше mutable struct

  • Вместо abstract - abstract type ... end

  • Вместо bitstype 32 Char - primitive type Char 32 end

immutable и type все еще разрешены (не deprecated )

typealias - устарело, надо использовать const или форму присвоения Vector{T} = Array{T,1}

  • readline, readlines, eachline - автоматически делают chomp()

Если требуется старое поведение, то нужно писать readline(s, chomp=false)

  • String больше не имеет поля .data
  • Появился тип UnionAll, который неявно используется, например, когда указывается неопределенный Array, как типовой параметр
  • chop и chomp теперь возвращают SubString
  • Когда после ошибки в REPL печатается нумерованный стектрейс, то открытие соответствующего исходника возможно набором указанного номера и нажатия ^Q
  • При вставке текста, если некоторые строки начинаются с julia>, то только такие строки будут парситься. Остальные будут отброшены.
  • Функция print_with_color принимает еще и числовой параметр 0 - 255

Появилась интересная функция "функциональная композиция". Именем ее является \\circ<tab> .

Появилась функция "композиция с отрицанием" - передал смысл своими словами. Когда ! применено к имени функции, результат - функция возвращающая логическое "нет" от результата исходной функции.

И есть еще много другого.

results matching ""

    No results matching ""