Когда дело доходит до портирования старого кода v0.6 на v1.0, обычно рекомендуется использовать v0.7.Как правило, он будет отображать предупреждение об устаревании с инструкциями о том, как получить тот же результат в v1.0.
Например, мы можем запустить код, включающий ismatch
, следующим образом (в Julia v0.7):
julia> ismatch(r"a.c", "abc")
┌ Warning: `ismatch(r::Regex, s::AbstractString)` is deprecated, use `occursin(r, s)` instead.
│ caller = top-level scope at none:0
└ @ Core none:0
true
В соответствии с предупреждением об устаревании мы должны заменить все вызовы на ismatch(r::Regex, s::AbstractString)
на occursin(r, s)
для будущей совместимости.В случае, если во всем проекте происходит устаревание, Julia (v0.7) может быть запущена с использованием флага --depwarn=error
, который немедленно вызовет ошибку (и предоставит подробную информацию о местоположении) при вызове устаревшего метода.
Обратите внимание, что амортизация определена в base/deprecations.jl
.Вы можете проверить этот файл на github или локально, чтобы увидеть, какая функция 0.7 отображает устаревший метод в.
(Обратите внимание, что в v1.0 также есть функция match
, которую можно получить в качестве подсказки, когдаделает ?ismatch
на 1,0.)