我之前ismatch在Julia v0.6.0中使用过函数,但是现在它返回了v1.0.0的错误,并且它不存在于v0.7.0或v1.0文档中.那么如何才能找到ismatch最新Julia版本的非折旧等价物呢?
更一般地说,在Julia中,如果它存在,如何知道任何折旧函数的等价物?
我的计算机上只安装了Julia v1.0.
在将旧的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
Run Code Online (Sandbox Code Playgroud)
根据弃用警告,我们应该将所有调用替换为ismatch(r::Regex, s::AbstractString)with occursin(r, s)以便将来兼容.在整个项目中发生弃用的情况下,可以使用--depwarn=error标志启动Julia(v0.7),该标志在调用不推荐的方法时会立即出错(并提供有关位置的详细信息).
请注意,弃用定义于base/deprecations.jl.您可以在github或本地检查此文件,以查看0.7正在将已弃用的方法映射到的函数.
(请注意,matchv1.0中还有一个函数,当?ismatch在1.0上执行时,它会作为建议.)