gpt4 book ai didi

julia - 赋值的函数返回类型

转载 作者:行者123 更新时间:2023-12-05 00:14:40 27 4
gpt4 key购买 nike

在这里,我期望 Int 类型,但得到了 Float:

julia> function test()
i::Int = 3.0
end
test (generic function with 1 method)

julia> typeof(test())
Float64

在这种情况下,返回类型是 Int:
julia> function test()
i::Int = 3.0
i
end
test (generic function with 1 method)

julia> typeof(test())
Int64

这是正确的行为还是错误?

最佳答案

这是杰夫的一句话:

= returns the right-hand side every time. No exceptions.



所以在第一个例子中,相当于直接返回什么 =返回即 3.0 :
julia> @code_lowered test()
CodeInfo(:(begin
nothing
SSAValue(0) = 3.0
i = (Core.typeassert)((Base.convert)(Main.Int, SSAValue(0)), Main.Int)
return SSAValue(0)
end))

关于julia - 赋值的函数返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46660487/

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