想象一下,例如,有一个异构数组就像
julia> a = {1, 2.2, int32(3), float32(4.4), 5, 6.6}
6-element Array{Any,1}:
1
2.2
3
4.4
5
6.6
Run Code Online (Sandbox Code Playgroud)
其元素的单一常见类型是Float64.
是否有函数或minimalistic命令将此类Any数组转换为具有单个公共类型(Array{Float64}对于给定示例)的元素数组,而无需事先明确写入该类型甚至知道它?
我知道如果使用括号[]来创建数组,那么Array{Float64}首先会获得一个数组.但是,问题是关于类型1在创建时无法控制的数组的转换(例如,一些数组解析,从文件读取的数组,......).
您正在寻找转换类型的函数被调用 convert
julia> a = {1, 2.2, int32(3), float32(4.4), 5, 6.6}
f6-element Array{Any,1}:
1
2.2
3
4.4
5
6.6
julia> convert(Array{Float64,1},a)
6-element Array{Float64,1}:
1.0
2.2
3.0
4.4
5.0
6.6
Run Code Online (Sandbox Code Playgroud)
编辑: 我不确定我理解你为什么会想要你想要的行为,但我认为你问的问题的解决方案(不是你有问题!),是:
[promote(a...)...]
Run Code Online (Sandbox Code Playgroud)