创建一个由4个Int32元素组成的元组

M.E*_*.E. 3 julia

我想创建一个包含四个Int32值的元组。

如果我只是这样做:

julia> a = (2,3,4,5)
(2, 3, 4, 5)

julia> typeof(a)
NTuple{4,Int64}
Run Code Online (Sandbox Code Playgroud)

我得到了Int64的四个元素元组,如何在Julia中完成才能获得Int32 NTuple?

Lyn*_*ite 6

因为您正在运行julia的64位版本,所以您的整数常量默认为Int64。

要获得元组,Int32您需要传递Int32。

通过像Int32创建元组之前一样构造它们

julia> x = (Int32(1), Int32(2), Int32(3), Int32(4))
(1, 2, 3, 4)

julia> typeof(x)
NTuple{4,Int32}
Run Code Online (Sandbox Code Playgroud)

转换元组的每个元素

julia> y = convert.(Int32, (1,2,3,4))
(1, 2, 3, 4)

julia> typeof(y)
NTuple{4,Int32}
Run Code Online (Sandbox Code Playgroud)

转换整个元组

julia> z = convert(NTuple{4, Int32}, (1,2,3,4))
(1, 2, 3, 4)

julia> typeof(z)
NTuple{4,Int32}
Run Code Online (Sandbox Code Playgroud)

或NTuple构造函数。

这个总是吸引我,因为它需要一个元组,而不是元素,所以算上括号,

julia> a = NTuple{4,Int32}((1,2,3,4))
(1, 2, 3, 4)

julia> typeof(a)
NTuple{4,Int32}
Run Code Online (Sandbox Code Playgroud)