首页 > 解决方案 > 我在哪里可以找到 Julia 中的缺失函数?

问题描述

请在当前版本文档中标注移除功能列表。像我这样的新人会发现很难追踪已弃用或修改的功能!!!dec、chr2ind 和 ind2chr 等函数发生了什么变化?是否有关于已弃用功能的文档?

标签: julia

解决方案


直到 Julia 1.0,政策是如果要在 0.X 版本中删除函数,那么它在 0.X-1 版本中被弃用。

在 Julia 1.0 之后,您可以预期在 Julia 2.0 之前不会发生诸如函数删除之类的重大更改。

一个实用的建议是双重的:

  • 严格:如果您有为 Julia 0.X 编写的程序或手册,您应该安装此版本来运行它(这可能是与任何其他软件产品相同的建议)
  • 松散:Julia 0.7 具有与 Julia 1.0 相同的功能,但它会为从 Julia 0.6 中删除/重命名的函数打印弃用警告。

现在关于您的具体问题,我与 Julia 0.6 和 1.0 之间的变化有关(因为您没有指定您的程序/手册是哪个 Julia 版本):

  • 而不是dec(10, 3)使用string(10, pad=3)
  • 而不是chr2ind("αβγdef", 2)使用nextind("αβγdef", 0, 2)
  • 而不是ind2chr("αβγdef", 2)使用length("αβγdef", 1, 2)

(但是请注意,关于字符串处理,Julia 1.0 在基础架构中引入了一些重大更改 - 特别是您可以摄取和使用甚至无效的 UTF-8 字符串,因此在某些情况下,这些函数可能不具有完全相同的行为)

现在关于查找删除。我通常做的是在 Julia GitHub 存储库中搜索给定的函数。大多数时候很容易找到弃用它的提交。例如,这是一个不推荐使用的提交chr2indind2chrhttps: //github.com/JuliaLang/julia/commit/dcf9552ace3331cbd5426f91a5c84c8e810f9a91。这种方法的另一个好处是,您可以了解导致更改的原因(因为您可以参考特定的问题/PR)。在这种情况下,您可以看到特定功能在一年前就被弃用了,这意味着您的资源可能相对较旧,而在 Julia 1.0 之前的世界中,一年时间很长,因为当时它发展得非常快。


推荐阅读