Джулия - Как узнать, что эквивалентная функция последней версии (v1.0.0)? - PullRequest
0 голосов
/ 12 сентября 2018

Ранее я использовал функцию ismatch в Julia v0.6.0, но теперь она возвращает ошибку с v1.0.0 и ее нет в документации v0.7.0 или v1.0.Итак, как я могу найти не амортизированный эквивалент ismatch для последней версии Julia?

В более общем смысле в Julia, как можно узнать эквивалент какой-либо амортизированной функции, если она существует?

У меня на компьютере установлена ​​только Julia v1.0.

1 Ответ

0 голосов
/ 12 сентября 2018

Когда дело доходит до портирования старого кода 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.)

...