我沿着“JuliaLanguageDocumentsRelease0.5.0-dev”运行他们的一些演示命令,这个命令抛出了一个错误。(参阅第28页)
setrounding(BigFloat, RoundDown) do
BigFloat(1) + parse(BigFloat, "0.1")
end投掷错误:
错误: UndefVarError:未定义的舍入
但它似乎不应该是一个变量,而是一个函数。
发布于 2016-03-03 09:43:14
如果您正在使用v0.4,则需要查看0.4docs,而不是您正在看到的0.5个文档。在页面的右下角,您将看到一个带有绿色箭头的小黑匣子。单击它,并选择所需文档的版本。
在这种情况下,此函数的名称在0.4 (最新版本)到0.5 (当前开发)之间更改。

发布于 2016-03-03 13:56:35
在Julia0.4中,有两个不同的函数:set_rounding直接更改舍入模式,另一个是在您编写的示例中使用的with_rounding,后者仅在给定函数期间临时更改舍入模式(在您的示例中,是do...end块中的代码)。
在Julia0.5中,它们被合并到单个setrounding函数中,该函数执行这两个任务,并且按照Base中函数的趋势,不再有下划线(_)。
有关此重命名的讨论可在原始拉请求:https://github.com/JuliaLang/julia/pull/13232中找到。
您还可以在0.4中使用新的0.5语法,方法是先执行using Compat;这是Julia向后兼容模块,在本例中,该模块将定义具有正确行为的setrounding函数。(您需要至少0.7.11版本的Compat;如果您有以前的版本,只需执行一个Pkg.update()。)
例如:
julia> using Compat
julia> setrounding(BigFloat, RoundDown) # 0.5 syntax
3
julia> get_rounding(BigFloat) # 0.4 syntax -- not advisable to mix these!
RoundingMode{:Down}()https://stackoverflow.com/questions/35757049
复制相似问题