我以前在Julia v0.6.0中使用了ismatch
函数,但是现在它在v1.0.0中返回错误,并且在v0.7.0或v1.0文档中不存在。那么,如何找到最新版本的Julia的ismatch
的未折旧等价物?
在Julia中更一般地讲,如何知道折旧函数的等效项(如果存在)?
我的计算机上只安装了Julia v1.0。
答案 0 :(得分:5)
在将旧的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)
,以便将来兼容。如果整个项目中都发生弃用,则可以使用--depwarn=error
标志启动Julia(v0.7),该标志会在调用弃用方法时立即出错(并提供有关位置的详细信息)。
请注意,弃用在base/deprecations.jl
中定义。您可以在github或本地上检查此文件,以查看功能0.7将不推荐使用的方法映射到了什么。
(请注意,v1.0中还有一个功能match
,当在1.0上执行?ismatch
时会建议使用该功能。)