gpt4 book ai didi

type-conversion - Julia 函数内部没有自动类型转换

转载 作者:行者123 更新时间:2023-12-04 21:41:46 26 4
gpt4 key购买 nike

编辑:

这只是一个已被修复的错误。
我更新到 Julia 版本 0.3.0-rc1+32 并且代码运行没有错误。

https://github.com/JuliaLang/julia/issues/7830#event-148849792

从 Int 到 Float 的 Julia 自动类型转换在函数内部不起作用。有没有简单的方法让它工作?

我的问题会更清楚一些代码:

type A
a::FloatingPoint
end

instance = A(1)
#println("$instance") -> A(1.0)

#FINE
instance.a = 2
#println("$instance") -> A(2.0)

#THROWS ERROR
function fn()
instance.a = 3
end
fn()

该错误只是一个转换错误。
ERROR: type: setfield!: expected FloatingPoint, got Int64
in fn at /home/john/Desktop/test.jl:18
in include at ./boot.jl:245
in include_from_node1 at loading.jl:128
in process_options at ./client.jl:285
in _start at ./client.jl:354
while loading /home/john/Desktop/test.jl, in expression starting on line 20

我知道我可以在数字的末尾添加一个小数点(即“3.”),以便在分配之前将其转换为浮点数。但是,如果自动转换仅在函数内部起作用,我正在从事的项目会容易得多。

我究竟做错了什么?

最佳答案

解决此问题的方法是使用 Julia 版本 >=v0.3。请注意,某些语法是 OP 在 v0.4 中已弃用,因此不适用于较新的版本。

关于type-conversion - Julia 函数内部没有自动类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25111050/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com