朱莉娅-如何知道最新版本(v1.0.0)的等效功能是什么?

时间:2018-09-12 16:16:35

标签: julia

我以前在Julia v0.6.0中使用了ismatch函数,但是现在它在v1.0.0中返回错误,并且在v0.7.0或v1.0文档中不存在。那么,如何找到最新版本的Julia的ismatch的未折旧等价物?

在Julia中更一般地讲,如何知道折旧函数的等效项(如果存在)?

我的计算机上只安装了Julia v1.0。

1 个答案:

答案 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时会建议使用该功能。)